Thread: CREATE TABLES AS looses constraints

CREATE TABLES AS looses constraints

From
Tiaan Wessels
Date:
Hi,
It seems as if a CREATE TABLES AS does not duplicate the table constraints. 
How can I enforce this. I need the fastest possible way to make an exact copy 
of a table. This is to support the administrative mechanism in an app where 
changes are made to a mirrored copy of a set of tables first and when happy, 
these are copied to the operational tables.
Regards
Tiaan


Re: CREATE TABLES AS looses constraints

From
Josh Berkus
Date:
Tiaan,

> It seems as if a CREATE TABLES AS does not duplicate the table constraints.
> How can I enforce this. I need the fastest possible way to make an exact
copy
> of a table. This is to support the administrative mechanism in an app where
> changes are made to a mirrored copy of a set of tables first and when happy,
> these are copied to the operational tables.

I suggest using pg_dump, on the command line:

pg_dump -T some_table my_database > some_table.pgdump;
psql -U database_owner my_database_mirror < some_table.pgdump;

This will copy triggers and indexes as well.

--
-Josh BerkusAglio Database SolutionsSan Francisco