Re: Replacing an existing unique constraint (not UNIQUE INDEX) with primary key

From: Achilleas Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Replacing an existing unique constraint (not UNIQUE INDEX) with primary key
Date: 2016-12-20 10:42:56
Message-ID: 58590B30.9040303@matrix.gatewaynet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 20/12/2016 12:27, Andreas Joseph Krogh wrote:
> På tirsdag 20. desember 2016 kl. 11:02:27, skrev Achilleas Mantzios <achill(at)matrix(dot)gatewaynet(dot)com <mailto:achill(at)matrix(dot)gatewaynet(dot)com>>:
>
> On 20/12/2016 11:43, Andreas Joseph Krogh wrote:
>> [snip]
> BEGIN;
> ALTER TABLE person ADD CONSTRAINT person_pk PRIMARY KEY (entity_id);
> alter table person drop constraint person_entity_id_key CASCADE;
> alter table phone add CONSTRAINT phone_fk FOREIGN KEY (person_entity_id) REFERENCES person(entity_id);
> alter table address add CONSTRAINT address_fk FOREIGN KEY (person_id) REFERENCES person(entity_id);
> COMMIT;
>
> Yea, I was hoping to avoid having to manually add the FK's to the referencing tables (34).
> Is there really no way to accomplish this without DROP CONSTRAINT ... CASCADE, hacking the system-catalogs or something?
You may write a script to output those 34 FK constraints. Definitely safer than hacking pg_constraint.conindid .
> Thanks.
> --
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas(at)visena(dot)com <mailto:andreas(at)visena(dot)com>
> www.visena.com <https://www.visena.com>
> <https://www.visena.com>

--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mickaël Le Baillif 2016-12-20 10:59:29 Re: JSON objects merge using || operator
Previous Message Andreas Joseph Krogh 2016-12-20 10:27:56 Re: Replacing an existing unique constraint (not UNIQUE INDEX) with primary key