データベース - postgreSQL - psql - 一覧表示

 クラウディア
1. 概要
2. ユーザ一覧
3. ロール一覧
4. データベース一覧
5. テーブル一覧

1. 概要

 「psql」では、一般的な「sql」を扱うのは、もちろんできるのですが、他に、一覧表示等の特別なコマンドを扱うことができます。  本ページは、下記のサイトを参考にさせていただきました。
PostgreSQL | 作成済みのロール一覧を表示する

2. ユーザ一覧

 ユーザの一覧を表示するには、「postgres」ユーザになって「psql」から「SQL」を入力します。  ログインユーザ権限で。

sudo su postgres -c "psql"

psql (10.1)
Type "help" for help.

postgres=# select * from pg_shadow;
 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls | passwd | valuntil | useconfig
----------+----------+-------------+----------+---------+--------------+--------+----------+----------
 postgres |       10 | t           | t        | t       | t            |        |          |

	・・・

 mantis   |    16387 | t           | t        | f       | f            |        |          |
 nobody   |    16388 | f           | f        | f       | f            |        |          |
 pgsql    |    16389 | t           | t        | t       | f            |        |          |
 www      |    16390 | f           | f        | f       | f            |        |          |
(7 rows)

postgres=#
 わかりやすいように「SQL」の部分のみ抜き書きしておきます。

select * from pg_shadow;

3. ロール一覧

 よく理解していないので、ユーザとロールとスキーマの区別がようついておらんのですが・・・。  ロールの一覧を表示するには、「\du」

postgres=# \du
                                       ロール一覧
 ロール名 |                                     属性
----------+------------------------------------------------------------------------------
 a        |
 b        |
 c        | スーパーユーザー, DB作成可
 nobody   |
 postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス
 d        | DB作成可
 e        |

4. データベース一覧

 データベースの一覧を表示するには「\l」。

dbname=# \l
                                     データベース一覧
   名前    |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) |   アクセス権
-----------+----------+------------------+----------+-------------------+-----------------
 -----     | -------- | UTF8             | C        | C                 |
 college   | pgsql    | UTF8             | C        | C                 |
 freebsd   | -------- | UTF8             | C        | C                 |
 myhome    | -------- | UTF8             | C        | C                 |
 postgres  | pgsql    | UTF8             | C        | C                 |
 takuro    | -------- | UTF8             | C        | C                 |
 template0 | pgsql    | UTF8             | C        | C                 | =c/pgsql       +
           |          |                  |          |                   | pgsql=CTc/pgsql
 template1 | pgsql    | UTF8             | C        | C                 | pgsql=CTc/pgsql+
           |          |                  |          |                   | =c/pgsql
(8 行)

5. テーブル一覧

 接続中のデータベースのテーブル一覧を表示するには「\dt」

dbname=# \dt

              リレーションの一覧
 スキーマ |     名前     |    型    |  所有者
----------+--------------+----------+----------
 public   | album        | テーブル | --------
 public   | album_order  | テーブル | --------

 	・・・

 public   | week         | テーブル | --------
 public   | youtube      | テーブル | --------
(18 行)

(stdin):	←	ここで入力待ちになるので q で抜けます
ハイスピードプラン