MySQLでは、use database_name;
を使いました
Psqlに相当するものは何ですか?
\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
を使う( documentation を参照)。
例:\c MyDatabase
\c
および\connect
メタコマンドは大文字と小文字を区別しますであることに注意してください。
データベースの\l
\c
dbに切り替えるDatabaseName __特定のデータベースに格納されているプロシージャの\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に切り替えます。
SQLを使用すると、クエリでデータベースを定義できます。それでは、なぜ単に使わないのですか?
SELECT
*
FROM
database.table
そうすれば、データベースを「手動で」「選択する」必要がなくなります。
またはクロスデータベースのJOINの例
SELECT
*
FROM
world.country
INNER JOIN
cms.user
ON
country.id = user.country_id
WHERE
country.isoCode = '<isoCode>'
を使用して接続できます
\ c dbname
POSTGRESQLまたはSQLで使用可能なすべてのコマンドを表示するには、次の手順を実行します。
Rails dbconsole(現在のENVデータベースに再編集します)
\? (POSTGRESQLコマンドの場合)
または
\ h(SQLコマンドの場合)
Qを押して終了します
質問では明確に述べられていませんが、目的は特定のスキーマ/データベースに接続することです。
もう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.
次のように、異なるROLEを使用してデータベースに接続することもできます。
\connect DBNAME ROLENAME;
または
\c DBNAME ROLENAME;