No, we can't do like this, because we have something like this: CREATE TABLE test_base ( id INT ); CREATE TABLE test_child_with_data ( t TEXT ) INHERITS (test_base);
ALTER TABLE test_base ADD COLUMN date DATE; INSERT INTO test_child_with_data VALUES (1, 'text', NOW()); CREATE FUNCTION some_magic() RETURNS SETOF test_child_with_data AS $$ SELECT (SUM(id), t, MIN(date))::test_child_with_data FROM test_child_with_data GROUP BY t $$ LANGUAGE SQL; INSERT INTO test_child_with_data SELECT * FROM some_magic(); -- Works fine. -- Dump/restore INSERT INTO test_child_with_data SELECT * FROM some_magic(); -- Error. On Sun, Jul 5, 2009 at 4:48 AM, toruvinn<toruv...@lain.pl> wrote: > On Sat, 04 Jul 2009 22:10:55 +0200, Oleg Serov <sero...@gmail.com> wrote: >> >> INSERT INTO test_child_with_data >> SELECT 1, 'test', NOW(); -- works fine. >> -- Dump/restore >> INSERT INTO test_child_with_data >> SELECT 1, 'test', NOW(); -- error.. > > How about INSERT INTO test_child_with_data (id, t, date) SELECT 1, 'test', > NOW(); ? You'll won't have to care about order of the columns anymore. > > Best regards, > -- > ru > -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs