../../image/benilogo.gifPostgreSQL について


PostgreSQL のUser を調べる
psql の \du で user 情報を取得出来る。
mydb=# \du
              List of database users
 User name | User ID |         Attributes
-----------+---------+----------------------------
 beniya    |     100 | superuser, create database
 postgres  |       1 | superuser, create database
(2 rows)


  • \du で user 情報を取得出来る。
\du は以下の SQL と同じことだそうです。
SELECT u.usename AS "User name",
  u.usesysid AS "User ID",
  CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('superuser, create database' AS text)
       WHEN u.usesuper THEN CAST('superuser' AS text)
       WHEN u.usecreatedb THEN CAST('create database' AS text)
       ELSE CAST('' AS text)
  END AS "Attributes"
FROM pg_user u
ORDER BY 1;


同じ結果になるのか検証
 User name | User ID |         Attributes
-----------+---------+----------------------------
 beniya    |     100 | superuser, create database
 postgres  |       1 | superuser, create database
(2 rows)

  •  上の結果と同じです。

よく見ると、 pg_user から このデーターを 表示しているようである。 ならば pg_user はどうなっているのだろうか?
単純に pg_user を表示してみる。

select * from pg_user;
mydb=# select * from pg_user;
 usename  | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig
----------+----------+-------------+----------+-----------+----------+----------+-----------
 postgres |        1 | t           | t        | t         | ******** |          |
 beniya   |      100 | t           | t        | t         | ******** |          |
(2 rows)






















目次に戻る

2004/12/18 restart ********* Last Update 2006/05/29 16:25 JST

(C) Y.Kondou,2005,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから