PostgreSQLで\c <database_name>
を使用すると、指定したデータベースに接続します。
現在のデータベースの名前はどのように決定できますか?
入力:
my_db> current_database();
生成する:
ERROR: syntax error at or near "current_database"
LINE 1: current_database();
関数current_database()
は、現在のデータベースの名前を返します。
SELECT current_database();
これはSQL関数なので、SQLステートメントの一部として呼び出す必要があります。 PostgreSQLは関数の実行をスタンドアロンクエリとしてサポートしておらず、他のSQLエンジンのようなCALL
ステートメントがないため、SELECT
を使用して関数を呼び出すだけです。
あなたはpsqlで「\ conninfo」を使うことができます
\c
のようなものを印刷します
You are now connected to database "foobar" as user "squanderer".
これは実際に行われることなので、新しい接続を作成してもかまわない場合に使用します。すべてのパラメーターなしで\ connect(\ cと短縮)は、現在の接続と同じ新しい接続を作成します。現在の接続は閉じられています。
http://www.postgresql.org/docs/9.3/static/app-psql.html の\ connectコマンドの仕様を参照してください:
Dbname、username、Hostまたはportのいずれかが省略されている場合(...)は、以前の接続からのそのパラメーターの値が使用されます。
SELECT * FROM current_catalog;
-- and
SELECT current_catalog;
...両方とも動作します( catalog
はデータベースの標準SQL )