============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Gena Gurchonok
Your email address : [EMAIL PROTECTED]
System Configuration
---------------------
Architecture (example: Intel Pentium): intel Celeron 500
Operating System (example: Linux 2.0.26 ELF): 2.2.16 ELF
PostgreSQL version (example: PostgreSQL-7.0): PostgreSQL-7.0.2
Compiler used (example: gcc 2.8.0): pgcc-2.91.66
Please enter a FULL description of your problem:
------------------------------------------------
When I renaming table using ALTER TABLE,
it doesn't change table name in RI triggers. This results in backend
crash due to invalid arguments for RI_Check trigger procedure.
Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
CREATE TABLE "pr1" (
"id" int4 ,
PRIMARY KEY ("id")
);
CREATE TABLE "fr" (
"f_id" int4 NOT NULL,
CONSTRAINT fr_fkey FOREIGN KEY (f_id)
REFERENCES pr1(id)
MATCH FULL
ON DELETE RESTRICT
ON UPDATE CASCADE
NOT DEFERRABLE
INITIALLY IMMEDIATE
);
insert into pr1 values(1);
insert into fr values(1);
alter table fr rename to fr2;
delete from pr1;
As the result we have:
pqReadData() -- backend closed the channel unexpectedly.
This probably means the backend terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
pg_dump gives
\connect - gena
CREATE TABLE "pr1" (
"id" int4 NOT NULL,
PRIMARY KEY ("id")
);
CREATE TABLE "fr2" (
"f_id" int4 NOT NULL
);
COPY "pr1" FROM stdin;
1
\.
COPY "fr2" FROM stdin;
1
\.
CREATE CONSTRAINT TRIGGER "fr_fkey" AFTER DELETE ON "pr1" NOT DEFERRABLE INITIALLY
IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_restrict_del" ('fr_fkey', 'fr',
'pr1', 'FULL', 'f_id', 'id');
CREATE CONSTRAINT TRIGGER "fr_fkey" AFTER UPDATE ON "pr1" NOT DEFERRABLE INITIALLY
IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_cascade_upd" ('fr_fkey', 'fr',
'pr1', 'FULL', 'f_id', 'id');
CREATE CONSTRAINT TRIGGER "fr_fkey" AFTER INSERT OR UPDATE ON "fr2" NOT DEFERRABLE
INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins" ('fr_fkey',
'fr', 'pr1', 'FULL', 'f_id', 'id');
please take a look at TRIGGERS' arguments