Dans MySQL, j'ai utilisé use database_name;
Quel est l'équivalent psql?
Dans PostgreSQL, vous pouvez utiliser la \connect
meta-command de l'outil client psql:
\connect DBNAME
ou en bref:
\c DBNAME
Vous pouvez vous connecter à une base de données avec \c <database>
ou \connect <database>
.
À l'invite PSQL, vous pouvez effectuer les tâches suivantes:
\connect (or \c) dbname
Vous pouvez vous connecter en utilisant
\c dbname
Vous pouvez sélectionner la base de données lors de la connexion avec psql. C'est pratique lorsque vous l'utilisez depuis un script:
Sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
Utilisation de la méta-commande \c or \connect [ dbname [ username ] [ Host ] [ port ] ] | conninfo
de psql (voir documentation ).
Exemple: \c MyDatabase
Notez que les méta-commandes \c
et \connect
sont sensibles à la casse.
\l
pour les bases de données \c
DatabaseName pour passer à db \df
pour les procédures stockées dans une base de données particulière
Utilisez l'instruction ci-dessous pour passer à différentes bases de données résidant dans 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 est exécuté sur le port 5432. S'il s'exécute sur un autre, assurez-vous de transmettre 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écutez psql
en ligne de commande, il passera à la base de données par défaut; psql anotherdb
, il passera à la base de données avec le nom en argument, au démarrage.
SQL vous permet de définir la base de données dans la requête. Alors pourquoi ne pas simplement utiliser?
SELECT
*
FROM
database.table
Ensuite, vous ne devez jamais "sélectionner" la base de données "manuellement"
Ou un exemple JOIN de base de données croisée
SELECT
*
FROM
world.country
INNER JOIN
cms.user
ON
country.id = user.country_id
WHERE
country.isoCode = '<isoCode>'
Vous pouvez vous connecter en utilisant
\ c nombase
Si vous souhaitez voir toutes les commandes possibles pour POSTGRESQL ou SQL, suivez ces étapes:
Rails dbconsole (vous serez redirigé vers votre base de données ENV actuelle)
\? (Pour les commandes POSTGRESQL)
ou
\ h (pour les commandes SQL)
Appuyez sur Q pour quitter
Bien que cela ne soit pas explicitement indiqué dans la question, l'objectif est de se connecter à un schéma/une base de données spécifique.
Une autre option consiste à vous 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 également vous connecter à une base de données avec un rôle différent comme suit.
\connect DBNAME ROLENAME;
ou
\c DBNAME ROLENAME;