ALTER TABLE

From: Gena Gurchonok <gena(at)rt(dot)mipt(dot)ru>
To: pgsql-bugs(at)postgresql(dot)org
Subject: ALTER TABLE
Date: 2000-08-03 10:26:39
Message-ID: 0601.000803@rt.mipt.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================

Your name : Gena Gurchonok
Your email address : gena(at)rt(dot)mipt(dot)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 EXECUTE PROCEDURE "RI_FKey_check_ins" ('fr_fkey', 'fr', 'pr1', 'FULL', 'f_id', 'id');

please take a look at TRIGGERS' arguments

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2000-08-03 13:17:16 Re: ALTER TABLE
Previous Message Simon Banton 2000-08-02 12:45:05 LinuxPPC/PG 7.0.2 .ctl file handling and \i comment parsing