Search Postgresql Archives

ALTER TABLE ... DISABLE TRIGGERS Isolation leve

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm using 8.4.1

I want to add a column to a table, but there are update triggers that will fire that don't need to fire for this operation. So, I'd like to add the column with triggers off. Normally this operation would take 10 or so seconds, so locking the table for that amount of time is not a big deal. I just want to make sure that no new data gets written to the table while the triggers are disabled.

BEGIN;
ALTER TABLE foo ADD COLUMN bar DISABLE TRIGGER USER;
COMMIT;

seems to leave the triggers disabled.

My tests seem to show that 


BEGIN;
ALTER TABLE foo DISABLE TRIGGER USER;

locks the table fully, then

ALTER TABLE foo ADD COLUMN bar;
ALTER TABLE foo ENABLE TRIGGER USER;
COMMIT;

gets the job done. I only pause because I figured that the single DISABLE triggerin transaction would have flopped back when the transaction committed. I was wrong about that.... I only need a little bit of affirmation or a kick in the right direction.

Thanks folks.

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux