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

#1 11/12/2012 11:55:03

mortimer.pw
Membre

ERROR: relation "ma_table" does not exist

Bonjour à tous,

Je travaille sur des bases en 8.4 et 9.0 sous CentOS 5.4.

Sur un serveur, j'ai une grappe de bases de données.
2 bases :
     GEKO avec schéma GEKO et un table ma_table,
     DISP avec schéma DISP et un table ma_table,

J'utilise PgAdmin (1.16) pour le requêtage.

Lorsque je fais un select * from ma_table, en étant connecté sur la BD DISP, tout va bien.
Si je fais le même select en étant connecté sur la BD GEKO, j'obtiens un message d'erreur (voir titre). Si je précise le schéma, je n'ai pas l'erreur.

J'ai pourtant mis le nom des schémas dans le search_path et dans la description de ma connection j'ai mis GEKO dans le champ "base de maintenance".

Pourquoi ?

Hors ligne

#2 11/12/2012 12:36:13

rjuju
Administrateur

Re : ERROR: relation "ma_table" does not exist

Bonjour,

vous pouvez faire un show search_path pour vérifier qu'il est bien correct sur votre role. La base de maintenance est utilisée comme base de connexion par défaut pour certains outils, et cela n'influera pas dans ce cas précis. Il est généralement conseillé de laisser postgres.

Hors ligne

#3 11/12/2012 12:49:59

mortimer.pw
Membre

Re : ERROR: relation "ma_table" does not exist

Bonjour Rjuju,

En faisant le show search_path, j'obtiens la réponse : DISP.

Pourtant dans mon fichier postgresql.conf, j'ai : search_path = '"$user",GEKO,DISP'          # Schema names

Je viens d'arrêter/redémarrer l'instance et toujours la même réponse.

Hors ligne

#4 11/12/2012 13:01:56

rjuju
Administrateur

Re : ERROR: relation "ma_table" does not exist

C'est qu'il est modifié ailleurs. Vous pouvez essayer "SELECT rolname, rolconfig FROM pg_roles" pour voir si ce paramètre n'est pas assigné à un utilisateur spécifique par exemple.

Hors ligne

#5 11/12/2012 13:29:05

mortimer.pw
Membre

Re : ERROR: relation "ma_table" does not exist

Rjuju,

Merci pour la requête.
Effectivement elle me retourne les infos suivantes pour le User postgres :
     "postgres";"{search_path=dispatcher}"

Comment cela a t'il était positionné ?
Comment annuler cette action ?

Merci pour votre aide.

Hors ligne

#6 11/12/2012 13:45:21

rjuju
Administrateur

Re : ERROR: relation "ma_table" does not exist

Les modifications se font avec ALTER ROLE.


Pour le réinitialiser, vous pouvez faire "ALTER ROLE postgres RESET search_path;"

Hors ligne

#7 11/12/2012 14:40:51

mortimer.pw
Membre

Re : ERROR: relation "ma_table" does not exist

Je ne sais pas qui a pu faire ce alter role "dans mon dos". Pas très grave puisque base de dev.

Merci pour les infos Julien.

Bonne après-midi.

Hors ligne

Pied de page des forums