On Wed, Mar 7, 2012 at 11:45 AM, Mike Blackwell <mike.blackwell@xxxxxxx> wrote: > > works for me -- what version are you on? > > merlin > > ------ > > [wcs1459@aclnx-cisp01 ~]$ psql --version > psql (PostgreSQL) 9.1.1 > contains support for command-line editing > > > [wcs1459@aclnx-cisp01 ~]$ cat x > create table a ( > id serial, > stuff text, > more_stuff text > ); > > create table a_audit ( > id serial, > a_old a, > a_new a > ); > > alter table a add column even_more_stuff boolean not null default false; > > > [wcs1459@aclnx-cisp01 ~]$ psql -f x > psql:x:5: NOTICE: CREATE TABLE will create implicit sequence "a_id_seq" for > serial column "a.id" > CREATE TABLE > psql:x:11: NOTICE: CREATE TABLE will create implicit sequence > "a_audit_id_seq" for serial column "a_audit.id" > CREATE TABLE > psql:x:13: ERROR: cannot alter table "a" because column "a_audit.a_new" > uses its row type aha! that's not what you posted last time. you appended 'not null default false'; which inexplicably breaks the ALTER. try this: ALTER TABLE a ADD COLUMN even_more_stuff text not null; ALTER TABLE a ALTER even_more_stuff set default false; ALTER TABLE a DROP COLUMN even_more_stuff; ALTER TABLE a ADD COLUMN even_more_stuff boolean not null default false; (this really looks like a bug in postgres, cc-ing to bugs) merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general