Re: Temporarily disable not null constraints

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

 



generally, you shouldn't be disabling your constraints, especially if you are having multiple parallel processes accessing your db.
instead, you should create them DEFERRABLE and have them checked at the end of your transaction.

regarding your question about NOT NULL: it is not possible to have it deferred (please check this page: https://www.postgresql.org/docs/13/sql-set-constraints.html)
you may alter your column, remove it, and then get it back, but still all rows will have to be checked, which I doubt you would like to see on a large table.

regards, milos



On Thu, Dec 3, 2020 at 9:00 PM Nagaraj Raj <nagaraj.sf@xxxxxxxxx> wrote:
Hi,

Can we disable not null constraints temporarily in the session-based transaction, like we disable FK constraints? 

SET session_replication_role = ‘replica’; 
alter table table_name disable trigger user;”

above two options are working for unique constraints violation exception. 

Thanks,
Rj



[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux