From: | Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru> |
---|---|
To: | Dominique Devienne <ddevienne(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: DISABLE TRIGGER doc wrong? |
Date: | 2025-08-25 17:13:50 |
Message-ID: | 185dd861-4e5a-47c0-9f2e-84dfa8a406ca@postgrespro.ru |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 25.08.2025 19:19, Dominique Devienne wrote:
> Fromhttps://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-DISABLE-ENABLE-TRIGGER:
>> Disabling or enabling internally generated constraint triggers requires superuser privileges
> We were disabling triggers as the owner of the table just fine, no
> SUPERUSER involved. So is the doc out-of-date?
Simple experiment shows that it is still up to date:
postgres(at)postgres(17.5)=# set session authorization alice;
SET
alice(at)postgres(17.5)=> create table t (id int primary key, parent_id int
references t(id));
CREATE TABLE
alice(at)postgres(17.5)=> select tgname from pg_trigger where tgrelid =
't'::regclass;
tgname
--------------------------------
RI_ConstraintTrigger_a_1260370
RI_ConstraintTrigger_a_1260371
RI_ConstraintTrigger_c_1260372
RI_ConstraintTrigger_c_1260373
(4 rows)
alice(at)postgres(17.5)=> alter table t disable trigger
"RI_ConstraintTrigger_a_1260370";
ERROR: permission denied: "RI_ConstraintTrigger_a_1260370" is a system
trigger
alice(at)postgres(17.5)=> \c - postgres
You are now connected to database "postgres" as user "postgres".
postgres(at)postgres(17.5)=# alter table t disable trigger
"RI_ConstraintTrigger_a_1260370";
ALTER TABLE
--
Pavel Luzanov
Postgres Professional:https://postgrespro.com
From | Date | Subject | |
---|---|---|---|
Next Message | Dominique Devienne | 2025-08-25 17:24:06 | Re: DISABLE TRIGGER doc wrong? |
Previous Message | Dominique Devienne | 2025-08-25 17:12:50 | Re: DISABLE TRIGGER doc wrong? |