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 13/01/2012 09:48:43

mortimer.pw
Membre

Problème de SEARCH_PATH

Bonjour,

Je travaille en version 9.0.4 sous Cent-OS.

Je fais un SELECT * FROM matable, cette table appartient au Schéma monschema.

J'obitens un message d'erreur : ERROR:  relation "matable" does not exist

Si je fais un SELECT * FROM monschema.matable, cela fonctionne.

J'ai regardé dans mon postgresql.conf, la variable SEARCH_PATH, j'ai bien : search_path = 'monschema,tonschema,sonschema'  # Schema names

J'ai arrêté/redémarré le Serveur.

Je me connecte en psql, je fais un SHOW SEARCH_PATH, j'obtiens : # show search_path;
search_path
-------------
public
(1 row)

Quelqu'un à t'il une idée ?

Par avance merci.

Hors ligne

#2 13/01/2012 10:07:29

Marc Cousin
Membre

Re : Problème de SEARCH_PATH

Soit search_path est commenté dans le fichier de conf, soit il y a une deuxième entrée search_path plus bas, soit l'utilisateur ou la base ont un alter database set search_path ou alter user set search_path …


Marc.

Hors ligne

#3 13/01/2012 11:40:48

mortimer.pw
Membre

Re : Problème de SEARCH_PATH

Bonjour Marc,

Effectivement, il y avait un ALTER USER postgres SET SEARCH_PATH='public';

J'ai effectué un : alter role postgres set search_path='monschema,tonschema,sonschema';

Je relance ma requête : SELECT * FROM matable, j'ai toujours le message : ERROR:  relation "matable" does not exist

La commande SHOW SEARCH_PATH me retourne bien mes différents schémas.

J'ai fait un pg_ctl reload, j'ai arrête/redémarré le Serveur, sans succès.

Comment vérifier qu'il y a un ALTER DATABSE ? ou y-a-t'il un autre problème ?

Hors ligne

#4 13/01/2012 12:00:51

Marc Cousin
Membre

Re : Problème de SEARCH_PATH

Que vaut le search_path, une fois la modification effectuée ?
Pour savoir si il y a un alter database, c'est un peu compliqué: ça dépend de la version de PG: avant la 9.0 c'était dans pg_database (champ datconfig), maintenant c'est dans pg_db_role_setting (parce qu'on peut le mettre globalement sur toute une base, ou spécifiquement pour un utilisateur sur cette base), dans setconfig.


Marc.

Hors ligne

#5 13/01/2012 12:26:22

mortimer.pw
Membre

Re : Problème de SEARCH_PATH

Marc,

Aprés Arrêt/Redémarrage complet, la commande SHOW SEARCH_PATH me retourne bien mes différents schémas ('monschema,tonschema,sonschema').

La commande : select * from pg_db_role_setting; me retourne : "{"search_path=\"monschema,tonschema,sonschema\""}"

Hors ligne

#6 13/01/2012 12:31:24

mortimer.pw
Membre

Re : Problème de SEARCH_PATH

Désolé Marc,

Je viens de trouver le problème, les simples quotes sur le ALTER ROLE.

Merci pour votre aide et bon week-end.

Hors ligne

Pied de page des forums