Thread: Table Constraints Bug
pgAdminIII will not allow you to add a self-referential constraint while using the GUI table editor, see the below example:
CREATE TABLE "role"
(
uid integer NOT NULL,
"name" character varying(32) NOT NULL,
parent integer NOT NULL DEFAULT 1,
CONSTRAINT role_pkey PRIMARY KEY (uid),
CONSTRAINT role_parent_fkey FOREIGN KEY (parent)
REFERENCES "role" (uid) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT
)
WITH (OIDS=FALSE);
ALTER TABLE "role" OWNER TO glasshook_admin;
(
uid integer NOT NULL,
"name" character varying(32) NOT NULL,
parent integer NOT NULL DEFAULT 1,
CONSTRAINT role_pkey PRIMARY KEY (uid),
CONSTRAINT role_parent_fkey FOREIGN KEY (parent)
REFERENCES "role" (uid) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT
)
WITH (OIDS=FALSE);
ALTER TABLE "role" OWNER TO glasshook_admin;
Matthew Arp a écrit : > pgAdminIII will not allow you to add a self-referential constraint while > using the GUI table editor, see the below example: > > CREATE TABLE "role" > ( > uid integer NOT NULL, > "name" character varying(32) NOT NULL, > parent integer NOT NULL DEFAULT 1, > CONSTRAINT role_pkey PRIMARY KEY (uid), > CONSTRAINT role_parent_fkey FOREIGN KEY (parent) > REFERENCES "role" (uid) MATCH SIMPLE > ON UPDATE NO ACTION ON DELETE RESTRICT > ) > WITH (OIDS=FALSE); > ALTER TABLE "role" OWNER TO glasshook_admin; Can we have more details? because I can add a foreign key which refers to the same table with the GUI table editor. -- Guillaume.http://www.postgresqlfr.orghttp://dalibo.com