Question

Dans MySQL j'utilisé use database_name;

Quel est l'équivalent psql?

Était-ce utile?

La solution

Dans PostgreSQL, vous pouvez utiliser le \connect méta-commande de l'outil psql client:

\connect DBNAME

ou en bref:

\c DBNAME

Autres conseils

Vous pouvez vous connecter à une base de données avec \c <database> ou \connect <database>.

A l'PSQL invite, vous pouvez faire:

\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. Ceci est pratique lorsque vous l'utilisez à partir d'un script:

sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test

Utilisation de méta-commande psql de \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo (voir la documentation ) .

Exemple: \c MyDatabase

Notez que les commandes de méta-\c et \connect sont sensible à la casse .

\l des bases de données \c DatabaseName pour basculer sur db \df pour les procédures stockées dans la base de données particulière

Utilisez ci-dessous la déclaration à passer à différentes bases de données résidant à l'intérieur votre postgreSQL SGBDR

\c databaseName

Si vous souhaitez passer à 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 fonctionne sur le port 5432. Si elle fonctionne sur une 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 utile.

Créer 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 dans la ligne de commande, il passe à la base de données par défaut; psql anotherdb, il passe à la DB avec le nom en argument au démarrage.

Bien que pas explicitement énoncé dans la question, le but est de se connecter à un schéma / base de données spécifique.

Une autre option est de 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 nombase

Si vous souhaitez voir toutes les commandes possibles pour POSTGRESQL ou SQL suivre les étapes suivantes:

  1. rails dbconsole (Vous redericted à votre base de données actuelle ENV)

  2. \? (Pour POSTGRESQL commandes)

ou

  1. \ h (Pour les commandes SQL)

  2. Appuyez sur Q pour quitter

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;

Comme mentionné dans les autres réponses, vous devez changer la connexion à utiliser une autre base de données.

Postgres fonctionne avec des schémas. Vous pouvez avoir plusieurs systèmes dans une seule base. Donc, si vous travaillez au sein de la même base de données, et que vous voulez schéma de changement, vous pouvez faire:

SET SCHEMA 'schema_name';

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top