moving this thread to -hackers, since this looks like a bug. On 01/05/2017 08:54, Philippe BEAUDOIN wrote: > Hi all, > > I am coding an update script for an extension. And I am in trouble when > trying to rename a column of an existing table. > > Just after the ALTER TABLE statement, I want to access this table. But > at this time, the altered column is not visible with its new name. >
I can reproduce this issue. It looks like this is due to missing cache invalidation between the ALTER TABLE execution and next query planning (failure happens during pg_analyze_and_rewrite()). AFAICT, CommandCounterIncrement() is responsible for handling invalidation messages, but in execute_sql_string() this function is called before executing a Stmt instead of after. Moving the CommandCounterIncrement() just before the PopActiveSnapshot() call (and removing the final one) fixes this issue for me, but I have no idea if this is the right fix. -- Julien Rouhaud http://dalibo.com - http://dalibo.org -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers