J'ai besoin de définir le chemin du schéma dans Postgres afin que je ne spécifie pas à chaque fois la table de points de schéma, par exemple schema2.table
. Définissez le chemin du schéma:
SET SCHEMA PATH a,b,c
ne semble fonctionner que pour une session de requête sur mac, après avoir fermé la fenêtre de requête, la variable de chemin se rétablit par défaut.
Comment puis-je le rendre permanent?
sql
postgresql
Nakh
la source
la source
Réponses:
(Et si vous n'avez pas d'accès administrateur au serveur)
Deux choses importantes à savoir:
a, b, c
important, car c'est également l'ordre dans lequel les schémas seront recherchés pour les tables. Donc, si vous avez le même nom de table dans plusieurs schémas parmi les valeurs par défaut, il n'y aura pas d'ambiguïté, le serveur utilisera toujours la table du premier schéma que vous avez spécifié pour votresearch_path
.la source
Vous pouvez définir la valeur par défaut
search_path
au niveau de la base de données:Ou au niveau de l'utilisateur ou du rôle:
Ou si vous avez un schéma par défaut commun dans toutes vos bases de données, vous pouvez définir la valeur par défaut à l'échelle du système dans le fichier de configuration avec l' option search_path .
Lorsqu'une base de données est créée, elle est créée par défaut à partir d'une base de données "modèle" masquée nommée template1 , vous pouvez modifier cette base de données pour spécifier un nouveau chemin de recherche par défaut pour toutes les bases de données créées à l'avenir. Vous pouvez également créer une autre base de données modèle et l'utiliser
CREATE DATABASE <database_name> TEMPLATE <template_name>
pour créer vos bases de données.la source
Josh a raison mais il a omis une variante:
Définissez le chemin de recherche de l'utilisateur, dans une base de données particulière.
la source