BUG #17930: Regression in DISABLE TRIGGER ALL
The following bug has been logged on the website:
Bug reference: 17930
Logged by: Olivier Chédru
Email address: ochedru@gmail.com
PostgreSQL version: 15.3
Operating system: Linux
Description:
Hi!
The following script creates a partition table with a foreign key and works
fine on PostgreSQL 14:
begin;
create table a(id int primary key);
create table b(id int primary key, a_id int not null references a(id))
partition by range(id);
create table b_default(like b including defaults including constraints);
alter table b attach partition b_default default;
alter table b disable trigger all;
commit;
On PostgresSQL 15, it fails on DISABLE TRIGGER ALL:
ERROR: trigger "RI_ConstraintTrigger_c_20196703" for table "b_default" does
not exist
It seems to use a wrong trigger name. In this case,
RI_ConstraintTrigger_c_20196703 is the name of a trigger defined on the
parent table b.
Thank you.
My bad, this issue is a duplicate of bug #17817 and has been fixed in
PostgreSQL 15.3.
Sorry for the spam.
On Fri, May 12, 2023 at 9:53 AM PG Bug reporting form <
noreply@postgresql.org> wrote:
Show quoted text
The following bug has been logged on the website:
Bug reference: 17930
Logged by: Olivier Chédru
Email address: ochedru@gmail.com
PostgreSQL version: 15.3
Operating system: Linux
Description:Hi!
The following script creates a partition table with a foreign key and works
fine on PostgreSQL 14:begin;
create table a(id int primary key);
create table b(id int primary key, a_id int not null references a(id))
partition by range(id);
create table b_default(like b including defaults including constraints);
alter table b attach partition b_default default;
alter table b disable trigger all;
commit;On PostgresSQL 15, it fails on DISABLE TRIGGER ALL:
ERROR: trigger "RI_ConstraintTrigger_c_20196703" for table "b_default"
does
not existIt seems to use a wrong trigger name. In this case,
RI_ConstraintTrigger_c_20196703 is the name of a trigger defined on the
parent table b.Thank you.
PG Bug reporting form <noreply@postgresql.org> writes:
The following script creates a partition table with a foreign key and works
fine on PostgreSQL 14:
begin;
create table a(id int primary key);
create table b(id int primary key, a_id int not null references a(id))
partition by range(id);
create table b_default(like b including defaults including constraints);
alter table b attach partition b_default default;
alter table b disable trigger all;
commit;
On PostgresSQL 15, it fails on DISABLE TRIGGER ALL:
ERROR: trigger "RI_ConstraintTrigger_c_20196703" for table "b_default" does
not exist
It works for me with 15.3. I don't think you are actually running
15.3 (i.e., yesterday's minor release), because this symptom matches
a bug we fixed in 15.3.
regards, tom lane