2011-03-23 3 views
0

J'ai déplacé certaines tables dans ma base de données postgresql (8.2) vers un nouveau schéma. d'abord, mon "utilisateur" n'a pas pu voir les tables dans le nouveau schéma, mais j'ai utilisé set search_path pour lui indiquer de regarder dans ce nouveau schémal'application web ne peut pas voir les tables dans le nouveau schéma postgresql

J'accède à ces tables avec une application web simple qui utilise hibernate. Au début, mon application Web, qui utilise l'utilisateur "utilisateur", ne pouvait pas non plus voir les tables, même après avoir défini le chemin de recherche. J'ai finalement mis le schéma par défaut dans le fichier de configuration hibernate et cela a fonctionné, mais je comprends d'après ce que j'ai lu que je ne devrais pas avoir à définir cette propriété? J'ai quelques requêtes JDBC dans cette application qui ne peut toujours pas voir les tables dans le nouveau schéma.

J'ai parcouru les documents postgresql et je ne trouve pas la cause de mes problèmes. Y a-t-il quelque chose de simple qui me manque?

+0

Comment avez-vous « changer le chemin de recherche » ? Avez-vous utilisé 'ALTER USER' ou set search_path? Avez-vous engagé le 'ALTER USER'? –

+0

J'ai utilisé la commande "SET search_path TO mystuff, myotherstuff" sans ALTER USER .... Je n'ai pas les permissions pour ALTER USER – mcgyver5

+2

Je ne pense pas que SET search_path soit persistant. Ce n'est valable que pour la session en cours. Vous devez utiliser ALTER USER pour effectuer ce changement de manière permanente. Je pense que vous pouvez changer "vous-même" cependant. –

Répondre

1

SET search_path n'est pas conservé. Ce n'est valable que pour la session en cours.

Vous devez utiliser ALTER USER pour faire ce changement de façon permanente, mais vous n'avez pas besoin de privilèges spéciaux pour changer l'utilisateur que vous êtes connecté avec (par exemple « vous »)

Questions connexes