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


 クラウディア


1. 概要
2. ユーザ一覧
3. ロール一覧
4. データベース一覧
5. テーブル一覧
6. 拡張機能

1. 概要

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

2. ユーザ一覧

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

sudo su postgres -c "psql"
 わかりやすいように「SQL」の部分のみ抜き書きしておきます。

select * from pg_shadow;
 実行とその結果です。

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=#

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 で抜けます

6. 拡張機能

 拡張機能の一覧を表示するには。

\dx
 「PostgreSQL 17.4」で拡張機能をインストールしていない状態で実行すると、下記の結果が得られました。

# \dx
                    インストール済みの拡張一覧
  名前   | バージョン |  スキーマ  |             説明
---------+------------+------------+------------------------------
 plpgsql | 1.0        | pg_catalog | PL/pgSQL procedural language
 拡張機能の構成を表示するには。

select * from pg_extension;
 「PostgreSQL 17.4」で拡張機能をインストールしていない状態で実行すると、下記の結果が得られました。

=# select * from pg_extension;
  oid  | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+---------+----------+--------------+----------------+------------+-----------+--------------
 14549 | plpgsql |       10 |           11 | f              | 1.0        |           |

ハイスピードプラン
損保との違い