Thanks, this is exactly what I was looking for.  The listed commands that
grab the ACCESS EXCLUSIVE lock are the ones we have to watch out for.

Tim

On Sat, Sep 24, 2011 at 2:23 PM, Adrian Klaver <adrian.kla...@gmail.com>wrote:

> On Friday, September 23, 2011 3:52:54 pm Timothy Garnett wrote:
> > Hi all,
> >
> > I was wondering if there was some good documentation on what kinds of
> > schema modifications block reads vs. which ones don't.  For ex. we
> > recently had an issue where someone ran as part of a migration
> >
> > ALTER TABLE tname ALTER COLUMN cname SET NOT NULL;
> >
> > on a large table that is not inserted to or updated.  While we'd expect
> > such an operation to block inserts/updates (writes) to the table, we were
> > surprised to observe that it also blocked selects (reads) from the table
> > as well, which we would not have naively expected (and caused a great
> deal
> > of headache).  On the other hand creating an index on a table blocks
> > writes, but still allows reads (even a unique index), as documented in
> the
> > create index docs.  Is there a list somewhere of what operations block
> > selects (reads) to a table that we should watch out for?
>
> http://www.postgresql.org/docs/9.1/interactive/explicit-locking.html
>
> >
> > We are currently using PostgreSQL 9.0.3.
> >
> > Thanks!
> > Tim
>
> --
> Adrian Klaver
> adrian.kla...@gmail.com
>

Reply via email to