Comment modifier “RÉFÉRENCES” dans PostgreSQL?

Comment puis-je modifier la référence à un tableau dans PostgreSQL lorsque le nom de la table a été changé?

Dire que j'ai:

CREATE TABLE example1 (
   id serial NOT NULL PRIMARY KEY,
   name varchar(100)
);

CREATE TABLE example2 (
   id serial NOT NULL PRIMARY KEY,
   example1fk integer REFERENCES example1 (id) DEFERRABLE INITIALLY DEFERRED
);

Plus tard je fais:

ALTER TABLE example1 RENAME TO example3; 

La modification de la définition de la contrainte de clé étrangère?

example1fk integer REFERENCES example1 (id) DEFERRABLE INITIALLY DEFERRED,
Tout d'abord, pour vous aider dans la recherche, cela s'appelle une Contrainte de Clé Étrangère. Deuxièmement, je ne suis pas clair ce que vous voulez faire. La contrainte continuera à pointer à la table après un changement de nom - il n'aurait aucun sens pour Postgres pour permettre à point à un nom qui n'existait pas. Ou voulez-vous dire que vous souhaitez renommer la colonne example1fk pour correspondre au nouveau nom de la table?
IMSoP est juste: il n'y a rien d'autre à faire. Postgres prendra soin de tout.
Avez-vous essayé de le renommer et de voir ce qu'il a fait pour les contraintes FK?

OriginalL'auteur Jose Luis de la Rosa | 2015-07-14