J'ai une base de données postgres avec plusieurs schémas. Lorsque je me connecte à la base de données à partir d'un shell avec psql
et que je l'exécute, \dt
il utilise le schéma de connexion par défaut qui est public . Y a-t-il un indicateur que je peux spécifier ou comment puis-je changer le schéma?
postgresql
psql
mehany
la source
la source
Réponses:
Dans PostgreSQL, le système détermine quelle table est signifiée en suivant un chemin de recherche, qui est une liste de schémas à rechercher.
La première table correspondante dans le chemin de recherche est considérée comme celle souhaitée, sinon, s'il n'y a pas de correspondance, une erreur est générée, même si les noms de table correspondants existent dans d'autres schémas de la base de données.
Pour afficher le chemin de recherche actuel, vous pouvez utiliser la commande suivante:
Et pour mettre le nouveau schéma dans le chemin, vous pouvez utiliser:
Ou si vous voulez plusieurs schémas:
Référence: https://www.postgresql.org/docs/current/static/ddl-schemas.html
la source
Voulez-vous changer de base de données?
Mettre à jour.
J'ai relu votre question. Pour afficher les schémas
Pour changer de schéma, vous pouvez essayer
la source
la source
Utilisez le nom du schéma avec un point dans la commande psql pour obtenir des informations sur ce schéma.
Installer:
Afficher la liste des relations dans
test_schema
:Afficher la
test_schema.test_table
définition:Afficher toutes les tables en
test_schema
:etc...
la source
C'est vieux, mais j'ai mis les exports dans mon alias pour me connecter à la base de données:
Et pour un autre schéma:
la source
export
et le point-virgule dans vos alias. De cette façon,PGOPTIONS
ne restez pas après avoir quitté psql.SET search_path
à chaque requête. Merci!mot-clé :
exemple :
la source
une solution rapide pourrait être:
la source
si vous jouez avec psql dans le docker, exécutez-le comme ceci:
la source