Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 04/06/2013 11:25:00
- Thomas Williamson
- Membre
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
- Thomas Williamson
- Membre
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
- Thomas Williamson
- Membre
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
- Thomas Williamson
- Membre
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
Pages : 1