Réponses:
Dans PostgreSQL, vous pouvez utiliser la \connect
méta-commande de l'outil client psql:
\connect DBNAME
ou en bref:
\c DBNAME
.sql
fichier? par exemple, puis-je avoir CREATE DATABASE mydb;
suivi \connect mydb
?
psql
commandes dans un fichier de script SQL.
À l'invite PSQL, vous pouvez faire:
\connect (or \c) dbname
Vous pouvez sélectionner la base de données lors de la connexion avec psql. C'est pratique lorsque vous l'utilisez à partir d'un script:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
pour les bases de données
\c
DatabaseName pour basculer vers db
\df
pour les procédures stockées dans une base de données particulière
Utilisation de la méta-commande de psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(voir documentation ).
Exemple: \c MyDatabase
Notez que la \c
et \connect
méta-commandes sont sensibles à la casse .
Utilisez l'instruction ci-dessous pour basculer vers différentes bases de données résidant à l'intérieur de votre RDMS postgreSQL
\c databaseName
Si vous souhaitez basculer vers une base de données spécifique au démarrage, essayez
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
Par défaut, Postgres s'exécute sur le port 5432. S'il s'exécute sur un autre, assurez-vous de passer le port dans la ligne de commande.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Par un simple alias, nous pouvons le rendre pratique.
Créez un alias dans votre .bashrc
ou.bash_profile
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
Exécuter psql
en ligne de commande, il basculera vers la base de données par défaut; psql anotherdb
, il basculera vers la base de données avec le nom en argument, au démarrage.
Bien que cela ne soit pas explicitement indiqué dans la question, le but est de se connecter à un schéma / base de données spécifique.
Une autre option consiste à se connecter directement au schéma. Exemple:
sudo -u postgres psql -d my_database_name
Source de man psql
:
-d dbname
--dbname=dbname
Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line.
If this parameter contains an = sign or starts with a valid URI prefix (postgresql:// or postgres://), it is treated as a conninfo string. See Section 31.1.1, “Connection Strings”, in the
documentation for more information.
Vous pouvez vous connecter en utilisant
\ c nomb
Si vous souhaitez voir toutes les commandes possibles pour POSTGRESQL ou SQL, procédez comme suit:
rails dbconsole (Vous serez redéfini dans votre base de données ENV actuelle)
\? (Pour les commandes POSTGRESQL)
ou
\ h (pour les commandes SQL)
Appuyez sur Q pour quitter
Comme mentionné dans les autres réponses, vous devez modifier la connexion pour utiliser une base de données différente.
Postgres fonctionne avec des schémas. Vous pouvez avoir plusieurs schémas dans une seule base de données. Donc, si vous travaillez dans la même base de données et que vous souhaitez modifier le schéma, vous pouvez faire:
SET SCHEMA 'schema_name';
SET SCHEMA
est utilisé comme SET SCHEMA 'schema_name'
non SET SCHEMA 'database_name'
. C'est donc une façon SQL de changer le schéma et non la base de données. Ceci est également similaire à SET search_path TO schema_name
. Voir la documentation ici ou ici .
psql
du front-end pour PostgreSQL?