PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 21/06/2011 16:02:16

bebert73
Membre

foreign key sur une table système

On ne peut pas faire de clé étrangère qui pointe sur une table système, ou c'est moi qui ai loupé quelque chose ?

J'ai essayé le code suivant :

CREATE TABLE tiers (
    id        INTEGER PRIMARY KEY,
    nom        VARCHAR(64) NOT NULL,
    dblogin    NAME
            REFERENCES pg_catalog.pg_authid(rolname)
                ON UPDATE CASCADE
                ON DELETE CASCADE
);

Ca me donne : ERREUR:  droit refusé : « pg_authid » est un catalogue système (nota : je suis bien connecté en tant que super-utilisateur postgres)

A noter qu'on s'en sort très bien avec un trigger

Hors ligne

#2 21/06/2011 22:19:20

SQLpro
Membre

Re : foreign key sur une table système

Par définition, les tables systèmes ne vous appartiennent pas. En principes ce ne devraient être que de vues et pas des tables. Il n'est donc pas possible d'en modifier le comportement pour vos besoin car il est parfaitement possible que la vue soit modifiée ou supprimée sans préavis au gré des évolutions de PostGreSQL !

A +


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

#3 22/06/2011 10:56:54

bebert73
Membre

Re : foreign key sur une table système

ok merci

Hors ligne

Pied de page des forums