The following bug has been logged on the website: Bug reference: 6489 Logged by: Rikard Pavelic Email address: rikard.pave...@zg.htnet.hr PostgreSQL version: 9.1.2 Operating system: Windows 7 Description:
I'm trying to push types in Postgres and have run into some limitations/inconsistent behaviors. Currently I'm declaring types and using them in other types and tables as composites. But types don't support inheritance so I'm thinking about declaring tables and using it's types instead of just declaring types. I've run into problems with adding new columns: create table t1(i int, j int); create table t2(i int, j t1); insert into t2 values(1,(2,3)); This works: alter table t1 add x float not null; This doesn't work: alter table t1 add x float not null default 0; It fails with ERROR: cannot alter table "t1" because column "t2.j" uses its row type While first alter table will not do as someone would expect (t2.x will be null) I'm fine with this behavior as it is consistent with types not allowing not null on attributes. But I would expect second alter to pass and enforcing not null and default when adding this column in table and not enforcing not null and default when adding into composite type for another table. Is this by design, oversight or a TODO? Regards, Rikard -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs