createuser
& dropuser
コマンド:
createuser - define a new PostgreSQL user account dropuser - remove a PostgreSQL user account
ユーザーアカウントを一覧表示する対応する方法はありますか?
これら2つのコマンドにはありませんユーザーにpsql
を呼び出すか、使用の詳細を理解するように要求します。
回答
psql
シェルを使用し、次のようにします:
\deu[+] [PATTERN]
postgres=# \deu+ List of user mappings Server | User name | FDW Options --------+-----------+------------- (0 rows)
すべてのユーザーの場合:
postgres=# \du List of roles Role name | Attributes | Member of ------------+------------------------------------------------+----------- chpert.net | | {} postgres | Superuser, Create role, Create DB, Replication | {}
MySQLなどでも、次のことができます:
$ psql -c "\du" List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- chpert | | {} postgres | Superuser, Create role, Create DB, Replication | {} test | | {}
コメント
回答
出力をユーザー名のみに制限するには、psql
シェルまたはローカルシェル/ターミナルから
psql -c "SELECT u.usename AS "User Name" FROM pg_catalog.pg_user u;"
クイックm前の回答で指摘したように、ethodは3列を表示します。 ユーザー名、ロール属性のリスト、および ロールグループのメンバー。
psql -c "\du"
最後に、後続の回答で指摘されているように、\du
コマンドのバックグラウンドで実行されるPostgreSQLコマンドは、次の呼び出しによってこれらの「デフォルト」列を表示します。
SELECT u.usename AS "User name", u.usesysid AS "User ID", CASE WHEN u.usesuper AND u.usecreatedb THEN CAST("superuser, create database" AS pg_catalog.text) WHEN u.usesuper THEN CAST("superuser" AS pg_catalog.text) WHEN u.usecreatedb THEN CAST("create database" AS pg_catalog.text) ELSE CAST("" AS pg_catalog.text) END AS "Attributes" FROM pg_catalog.pg_user u ORDER BY 1;
(\ duと入力したときにpsqlが舞台裏で行うこと)
最後の部分は PostgreSQLメーリングリストからコピーされました。
回答
簡単な回答の場合…
psql内から:
\du
ターミナルから:
psql -c "\du"
d は d 何かを記述し、 u は u sers。
回答
SQLソリューション。通常はpsql \ duによって実行されます:
SELECT u.usename AS "User name", u.usesysid AS "User ID", CASE WHEN u.usesuper AND u.usecreatedb THEN CAST("superuser, create database" AS pg_catalog.text) WHEN u.usesuper THEN CAST("superuser" AS pg_catalog.text) WHEN u.usecreatedb THEN CAST("create database" AS pg_catalog.text) ELSE CAST("" AS pg_catalog.text) END AS "Attributes" FROM pg_catalog.pg_user u ORDER BY 1;
psql -c '\du'