connection timeouts and "killing" users

From: "Gauthier, Dave" <dave(dot)gauthier(at)intel(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: connection timeouts and "killing" users
Date: 2008-09-11 16:42:46
Message-ID: 0836165E8EE50F40A3DD8F0D8713726701056D9E@azsmsx421.amr.corp.intel.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi:

Here's the problem...

I have a read-only DB that gets reloaded from scratch every night.
This takes several hours and I don't want any late night users to have
to wait for this process to complete, so I have 2 DBs. The first DB is
the one the users access. Call it "main_db". I load a second DB which
has an identical architecture at night. Call it "standby_db". When the
load finishes, I rename "main_db" to "tmp", then rename "standby_db" to
"main_db", then rename "tmp" to "standby_db". So, the users should have
access to a "main_db" all the time (except for a second when the renames
happen). And "standby_db" serves as a full backup which I can use
should I need it.

Here's the problem...

Sometimes the renames fail because people are still attached to either
"main_db" or "standby_db". The error messages indicate this is the
problem anyway. Someof those users (most of them) are probably fast
asleep at home and forgot to exit the interactive session that was
connected to the DB.

Q: Is there a way I can set a timeout where, if a user is inactive for
say an hour, they get disconnected?

Q Is there a way to "kill" all active users without having to cycle the
DB server with something like "pg_ctl stop -m fast -D ..." ?

Q: (the best option)... Is there a way I can leave those users attached
to their DB regardless of the fact that it's name changed while they
were attached?

Thanks in ADvance for any help.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Roderick A. Anderson 2008-09-11 17:03:03 Re: psql scripting tutorials
Previous Message Alan Scott 2008-09-11 16:39:34 Re: Windows ODBC Driver