Re: lock entire database - Mailing list pgsql-novice

From Scott Marlowe
Subject Re: lock entire database
Date
Msg-id 1091813036.27166.215.camel@localhost.localdomain
Whole thread Raw
In response to Re: lock entire database  (Steve Tucknott <steve@retsol.co.uk>)
Responses Re: lock entire database
List pgsql-novice
Generally the "solution" to locking the entire database is to keep a
spare pg_hba.conf around that only allows a certain user to connect to
do these things, and switching out from one pg_hba.conf to another as
needed.

Note, however, that DDL in PostgreSQL is fully transactable, so it's
possible to do something like:

begin;
alter table xyz ...
drop table abc...
create table abc as...
create index yada...
commit;

And none of the changes will show up for other users until the commit.
Note that locking issues may lock users out of those tables being
modified until the commit, but they definitely won't see the changes
until commit.

On Fri, 2004-08-06 at 10:28, Steve Tucknott wrote:
> We have a similar request.
> We have a 'program' that does database 'structure' updates and do not
> want the users touching the database while this is going on. In
> Informix this was achieved by placing and EXCLUSIVE lock on the
> database itself.
> Is there a (simple) way of 'locking out' specific users under PostGre
> to achieve the same end?
> On Fri, 2004-08-06 at 16:32, Ron St-Pierre wrote:
>         Benjamin wrote:
>
>         >
>         > In PGSQL, is it possible to lock the entire database??!!
>
>         Not that I know of, but why would you want to anyway?
>
>         >
>         > This could be done with locking with individual table locking, but any
>         > way to lock the entire db??
>         > If this is the only way, how do i get the listing of the tables? thru
>         > '\d' ?? and then 'cut' or 'sed ' on it to get the individual table names?
>
>         Check out the docs at
>         http://www.postgresql.org/docs/7.4/static/app-psql.html to see the psql
>         commands. With the \d you can see just the tables, views, etc (eg \dt).
>         Ron
>
>
>
>         ---------------------------(end of broadcast)---------------------------
>         TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
>
> Regards,
>
> Steve Tucknott
>
> ReTSol Ltd
>
> DDI: 01903 828769


pgsql-novice by date:

Previous
From: Steve Tucknott
Date:
Subject: Re: lock entire database
Next
From: "Worth Bishop"
Date:
Subject: Class does not have a constructor