BUG #18517: Dropping a table referenced by an initially deferred foreign key fails with an error
От | PG Bug reporting form |
---|---|
Тема | BUG #18517: Dropping a table referenced by an initially deferred foreign key fails with an error |
Дата | |
Msg-id | 18517-af2d19882240902c@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #18517: Dropping a table referenced by an initially deferred foreign key fails with an error
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 18517 Logged by: Alexander Lakhin Email address: exclusion@gmail.com PostgreSQL version: 17beta1 Operating system: Ubuntu 22.04 Description: The following script: CREATE TABLE pkt (id int PRIMARY KEY); CREATE TABLE fkt (id int PRIMARY KEY, fk int REFERENCES pkt INITIALLY DEFERRED); INSERT INTO pkt VALUES (1); BEGIN; INSERT INTO fkt VALUES (101, 1); DROP TABLE pkt CASCADE; COMMIT; fails on commit with a weird error: ERROR: relation 16390 has no triggers BACKTRACE: afterTriggerInvokeEvents at trigger.c:4700:7 AfterTriggerFireDeferred at trigger.c:5224:6 CommitTransaction at xact.c:2219:8 CommitTransactionCommandInternal at xact.c:3169:18 CommitTransactionCommand at xact.c:3099:9 finish_xact_command at postgres.c:2783:3 exec_simple_query at postgres.c:1299:4 PostgresMain at postgres.c:4684:27 BackendInitialize at backend_startup.c:123:1 postmaster_child_launch at launch_backend.c:269:9 BackendStartup at postmaster.c:3593:8 ServerLoop at postmaster.c:1677:10 PostmasterMain at postmaster.c:1372:11 startup_hacks at main.c:217:1 afterTriggerInvokeEvents() coding is: /* * So let's fire it... but first, find the correct relation if * this is not the same relation as before. */ if (rel == NULL || RelationGetRelid(rel) != evtshared->ats_relid) { ... if (trigdesc == NULL) /* should not happen */ elog(ERROR, "relation %u has no triggers", evtshared->ats_relid); Reproduced on REL_12_STABLE .. master.
В списке pgsql-bugs по дате отправления: