質問

MySQLで使用しました use database_name;

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

役に立ちましたか?

解決

PostgreSQLでは、を使用できます \connect クライアントツールPSQLのメタコマンド:

\connect DBNAME

または要するに:

\c DBNAME

他のヒント

でデータベースに接続できます \c <database> また \connect <database>.

PSQLプロンプトでは、できます。

\connect (or \c) dbname

使用して接続できます

\c dbname

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

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

PSQLのメタコマンドを使用します \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo (見る ドキュメンテーション).

例: \c MyDatabase

に注意してください \c\connect メタコマンドはそうです 大文字と小文字を区別.

\l データベース用\c dbに切り替えるデータベースネーム\df 特定のデータベースに保存されている手順の場合

以下のステートメントを使用して、postgresql rdms内に存在するさまざまなデータベースに切り替えます

\c databaseName

起動時に特定のデータベースに切り替えたい場合は、試してみてください

/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に切り替えます。

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

別のオプションは、スキーマに直接接続することです。例:

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.

使用して接続できます

c dbname

PostgreSQLまたはSQLのすべての可能なコマンドを表示したい場合は、次の手順に従ってください。

  1. Rails dbconsole(現在のenvデータベースに再編成されます)

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

また

  1. h(SQLコマンド用)

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

また、次のように異なる役割を持つデータベースに接続することもできます。

\connect DBNAME ROLENAME;

また

\c DBNAME ROLENAME;

他の回答で述べたように、接続を変更して別のデータベースを使用する必要があります。

Postgresはスキーマで動作します。単一のデータベースに複数のスキームを作成できます。したがって、同じデータベース内で作業していて、スキーマを変更したい場合は、次のことができます。

SET SCHEMA 'schema_name';

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top