psqlで接続ユーザーを確認する方法 質問する

psqlで接続ユーザーを確認する方法 質問する

私の PostgreSQL データベースには、postgres と myuser という 2 つのユーザーがいます。

デフォルトのユーザーは postgres ですが、このユーザーには外部テーブルをクエリする権限がなく、myuser には権限があります。適切なユーザーに接続しているかどうかを確認するにはどうすればよいですか?

間違ったユーザーを使用している場合、正しいユーザーに変更するにはどうすればいいですか?

ベストアンサー1

psql コマンド プロンプトから現在の接続に関する情報を取得するには:

\conninfo

ただし、これにより、より多くの情報が表示されます。

ユーザーを変更するには:

\c - a_new_user

「-」は現在のデータベースの代わりになります。

データベースを変更するにはそしてユーザー:

\c a_new_database a_new_user

この情報を取得するための SQL コマンド:

SELECT current_user;

例:

postgres=# \conninfo
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432"

postgres=# \c a_new_database a_new_user
psql (12.1 (Ubuntu 12.1-1.pgdg16.04+1), server 9.5.20)
You are now connected to database "a_new_database" as user "a_new_user".

a_new_database=# SELECT current_user;
 current_user 
--------------
 a_new_user
(1 row)


このページには、いくつかの興味深い関数と変数がリストされています。
https://www.postgresql.org/docs/current/static/functions-info.html

おすすめ記事