1. ホーム
  2. postgresql

[解決済み] psqlで接続ユーザーを確認する方法

2022-12-23 18:02:16

質問

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

デフォルトのユーザはpostgresですが、このユーザは私の外部テーブルを照会する権限を持っておらず、myuserは持っています。正しいユーザで接続されているかどうかを確認するにはどうしたらよいでしょうか。

間違ったユーザを使用している場合、正しいユーザに変更するにはどうしたらよいでしょうか。

どのように解決するのですか?

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