On Wed, Apr 18, 2012 at 7:44 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > > jon.plo...@gmail.com writes: > > Issue: After adding one new column to each of two different tables, querying > > pg_attribute shows the new column in one table but not the other. > > This is a bit hard to believe, and your log extract certainly doesn't > provide any evidence to support the statement. Could we see a complete > self-contained test case? > > > - Postgresql log shows difference after the two ALTER TABLE statements (see > > below), with a "forked new backend" message always following the ALTER TABLE > > that does not update pg_attribute. Don't know if this has anything to do > > with anything, but the log messages are always the same > > That only suggests a new incoming connection, which seems probably > unrelated. However, if that new connection is what's going to examine > pg_attribute, maybe the issue is that it's looking before the ALTER has > committed?
This is what's happening. The stack is Rails, ActiveRecord, connection pooler pgbouncer, and Postgresql. The ActiveRecord class that doesn't see the column update uses a specific connection pool. Unfortunately ActiveRecord uses the default pool connection to alter the table associated with that class, then tries to update the class attributes by querying pg_attribute using the class specific connection pool (generating the new connection in the log). > > regards, tom lane Thanks for the response and insight! -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs