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 04/06/2013 11:25:00

Problème clés étrangères

Bonjour,


J'ai créé deux tables (operation_reseau et anomalie) et je dois en créer une troisième qui comporte en clés étrangères les clés primaires de chacune des deux autres.


Mon script donne ça :


CREATE TABLE operation_anomalie 
(
	ope_id integer REFERENCES operation_reseau (ope_id),
	ano_id integer REFERENCES anomalie (ano_id),
	CONSTRAINT operation_anomalie_pkey PRIMARY KEY (ope_id, ano_id)
);

Et j'obtiens le message d'erreur suivant :


NOTICE:  la table « operation_anomalie » n'existe pas, poursuite du traitement
NOTICE:  CREATE TABLE / PRIMARY KEY créera un index implicite « operation_anomalie_pkey » pour la table « operation_anomalie »


ERREUR:  la relation « operation_reseau » n'existe pas

********** Erreur **********

ERREUR: la relation « operation_reseau » n'existe pas
État SQL :42P01

Bizarre ce message car les deux tables (relations) existent bel et bien...


Quelqu'un voit-il d'où ça pourrait venir ?


Merci !


Thomas

Dernière modification par Thomas Williamson (04/06/2013 11:25:17)

Hors ligne

#2 04/06/2013 11:52:58

SAS
Membre

Re : Problème clés étrangères

Bonjour,

Toutes vos tables sont-elles créées dans le même schéma ?
Est-ce le même utilisateur qui possède les relations, et les crée ?


Stéphane Schildknecht
Conseil, formations et support PostgreSQL
http://www.loxodata.com

Hors ligne

#3 04/06/2013 12:01:05

Re : Problème clés étrangères

Bonjour,


Toutes les tables sont dans le même schéma, que je précise en réalité dans mon script (retiré dans l'exemple pour une meilleure lisibilité).


Pour les OWNER et les droits (GRANT), c'est plus mélangé...



La relation operation_reseau :


ALTER TABLE operation_reseau OWNER TO simapdatagrp;	
GRANT ALL ON TABLE operation_reseau TO siveergrp;


La relation anomalie :


ALTER TABLE anomalie OWNER TO siveergrp;
GRANT ALL ON TABLE anomalie TO siveergrp;

Et je suis connecté avec l'utilisateur postgres pour créer les tables... Qu'est-ce qui peut poser problème (le fait que l'utilisateur connecté soit différent des OWNER prévus) ?


Merci !


Thomas

Dernière modification par Thomas Williamson (04/06/2013 12:01:41)

Hors ligne

#4 04/06/2013 12:13:06

SAS
Membre

Re : Problème clés étrangères

Que donne un \dt+ sur votre base ?

Dernière modification par SAS (04/06/2013 12:13:21)


Stéphane Schildknecht
Conseil, formations et support PostgreSQL
http://www.loxodata.com

Hors ligne

#5 04/06/2013 13:13:40

Re : Problème clés étrangères

Dites-moi plus précisément ce que vous voulez que je teste, je ne comprends pas...

Dernière modification par Thomas Williamson (04/06/2013 13:14:05)

Hors ligne

#6 04/06/2013 13:56:07

Bidou
Membre

Re : Problème clés étrangères

Il parle d'afficher les informations sur vos tables depuis psql (\dt+ est la commande affichant ces informations).
Votre utilisateur a bien les droits sur le SCHEMA en question (GRANT USAGE) ?

Hors ligne

#7 04/06/2013 14:16:28

Re : Problème clés étrangères

Oui, l'utilisateur a bien les droits sur le schéma !


En passant par la console psql, j'ai les infos sur un autre schéma que celui sur lequel je travaille... Comment spécifier la commande \dt+ sur un schéma particulier dans ce cas ?


Thomas

Hors ligne

#8 04/06/2013 14:55:30

Bidou
Membre

Re : Problème clés étrangères

Il faut changer le search_path (SET search_path TO '')

Hors ligne

Pied de page des forums