ALTER TABLE - Mailing list pgsql-bugs
From | Gena Gurchonok |
---|---|
Subject | ALTER TABLE |
Date | |
Msg-id | 0601.000803@rt.mipt.ru Whole thread Raw |
Responses |
Re: ALTER TABLE
Re: ALTER TABLE |
List | pgsql-bugs |
============================================================================ POSTGRESQL BUG REPORT TEMPLATE ============================================================================ Your name : Gena Gurchonok Your email address : gena@rt.mipt.ru 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 EXECUTEPROCEDURE "RI_FKey_check_ins" ('fr_fkey', 'fr', 'pr1', 'FULL', 'f_id', 'id'); please take a look at TRIGGERS' arguments
pgsql-bugs by date: