web-dev-qa-db-ja.com

Psqlでデータベースを切り替える方法

MySQLでは、use database_name;を使いました

Psqlに相当するものは何ですか?

956
Blankman

PostgreSQLでは、クライアントツールpsqlの \connect /メタコマンドを使用することができます。

\connect DBNAME

または要するに:

\c DBNAME
1412
Will Hartung

\c <database>または\connect <database>を使用してデータベースに接続できます。

175
meagar

PSQLプロンプトで、次のことができます。 

\connect (or \c) dbname
92

あなたが使用して接続することができます

\c dbname
24
Jeswin K Ninan

Psqlで接続するときにデータベースを選択できます。これはスクリプトから使うときに便利です。

Sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
23
Manel Clos

Psqlのメタコマンド\c or \connect [ dbname [ username ] [ Host ] [ port ] ] | conninfoを使う( documentation を参照)。

例:\c MyDatabase

\cおよび\connectメタコマンドは大文字と小文字を区別しますであることに注意してください。

9

データベースの\l\c dbに切り替えるDatabaseName __特定のデータベースに格納されているプロシージャの\df

8
Ambrish Rajput

下記の文を使用して、あなたのpostgreSQL RDMS内に存在する異なるデータベースに切り替えてください。

\c databaseName
6
Bilal Mahmood

起動時に特定のデータベースに切り替えたい場合は、

/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;

デフォルトでは、Postgresはポート5432で動作します。他のポートで動作する場合は、必ずポートをコマンドラインで渡してください。

/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;

単純な別名で、それを便利にすることができます。

.bashrcまたは.bash_profileにエイリアスを作成します

function psql()
{
    db=vigneshdb
    if [ "$1" != ""]; then
            db=$1
    fi
    /Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}

コマンドラインでpsqlを実行すると、デフォルトのデータベースに切り替わります。 psql anotherdb、起動時に、引数に名前を付けてdbに切り替えます。

1
Vignesh Raja

SQLを使用すると、クエリでデータベースを定義できます。それでは、なぜ単に使わないのですか?

SELECT 
 *
FROM 
 database.table 

そうすれば、データベースを「手動で」「選択する」必要がなくなります。

またはクロスデータベースのJOINの例

SELECT 
 *
FROM 
 world.country
INNER JOIN 
 cms.user 
ON
 country.id = user.country_id
WHERE 
 country.isoCode = '<isoCode>'
0
Raymond Nijland

を使用して接続できます

\ c dbname

POSTGRESQLまたはSQLで使用可能なすべてのコマンドを表示するには、次の手順を実行します。

  1. Rails dbconsole(現在のENVデータベースに再編集します)

  2. \? (POSTGRESQLコマンドの場合)

または

  1. \ h(SQLコマンドの場合)

  2. Qを押して終了します

0
Lakhani Aliraza

質問では明確に述べられていませんが、目的は特定のスキーマ/データベースに接続することです。

もう1つの選択肢は、スキーマに直接接続することです。例:

Sudo -u postgres psql -d my_database_name

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.
0

次のように、異なるROLEを使用してデータベースに接続することもできます。

\connect DBNAME ROLENAME;

または

\c DBNAME ROLENAME;
0
Abhishek