web-dev-qa-db-fra.com

Modifier le schéma par défaut pour l'utilisateur

create schema bla;

-- then create table table_name into this schema

Ensuite, je veux changer le schéma par défaut de l'utilisateur (l'utilisateur est postgres)

Je fais: ALTER ROLE postgres SET search_path TO bla; (La requête a été renvoyée avec succès sans résultat).

Quand j'essaie SELECT * FROM table_name donne une erreur relation "table_name" does not exist

Bien que SELECT * FROM bla.table_name fonctionne très bien.

Quel est le problème dans ma tentative de modifier le schéma par défaut pour l'utilisateur?

11
Oto Shavadze

Je pense que vous devez vous reconnecter pour cela. Avec ALTER USER ... SETvous changez

Valeurs par défaut de session pour les variables de configuration d'exécution

Aussi de ALTER ROLE SETmanuel :

Les paramètres de variable spécifiques au rôle ne prennent effet qu'à la connexion;

Mais n'appliquez pas les modifications à la session en cours. Si vous souhaitez un changement immédiat, utilisez:

SET search_path TO bla;

Il changera de chemin au niveau de la session

12
Vao Tsun