Why don't you use a partition? Create another table that inherits from the table and add your new constraints to the new table. On Thursday 27 May 2010 19:32:33 Nilesh Govindarajan wrote: > On Thu, May 27, 2010 at 9:49 PM, Iñigo Martinez Lasala > > <imartinez@xxxxxxxxxxxx> wrote: > > Constraints are special triggers, but triggers anyway. > > > > So, If you truncate the table, create the contraint and then restore with > > triggers disabled, it could be faster that create the contraint and wait > > until it checks all table data... or not... :) > > > > How would disabling triggers help that ? He just wants to add > > constraints without loss of data. I don't think he has any triggers. > > I agree constraints are triggers. But as far as I know, truncating > table doesn't disable the constraints. > Its same as deleteing all rows and then altering the table. > In that manner, even my solution would be appropriate because it > creates a duplicate table with the constraints. > Whatever be the method, I don't think its possible to avoid the > constraints. Correct me if I'm wrong. -- Robert Voinea <robert (dot) voinea (at) topex (dot) ro> Software Developer Phone: +40 21 408 38 00 / ext. 343 Fax: +40 21 408 38 08 Local time: GMT+2 http://www.topex.ro -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin