データベースの一覧を表示する方法

コマンドライン

コマンドラインからデータベースの一覧を表示する場合、psqlコマンドにオプション"-l"(Lの小文字)を指定して実行します。

$ psql -U postgres -l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権       
-----------+----------+------------------+-------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | 
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 testdb    | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | 
(4 行)

データベース一覧を表示する命令

psqlコマンドなどでPostgreSQLサーバーに接続した状態でデータベース一覧を取得する方法について。

\l

コマンドの"\l"(Lの小文字)を実行することでデータベースの一覧を確認できます。

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

SQL

SQLでデータベース一覧を取得する場合、以下のSQLを実行します。pg_databaseはPostgreSQL固有で、他のデータベースでは使用できません。

SELECT * FROM pg_database;

実行結果は以下のようになります。

postgres=# select * from pg_database;
  datname  | datdba | encoding | datcollate  |  datctype   | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | datminmxid | dattablespace |               datacl                
-----------+--------+----------+-------------+-------------+---------------+--------------+--------------+---------------+----
----------+------------+---------------+-------------------------------------
 template1 |     10 |        6 | ja_JP.UTF-8 | ja_JP.UTF-8 | t             | t            |           -1 |         13290 |         1822 |          1 |          1663 | {=c/postgres,postgres=CTc/postgres}
 template0 |     10 |        6 | ja_JP.UTF-8 | ja_JP.UTF-8 | t             | f            |           -1 |         13290 |         1822 |          1 |          1663 | {=c/postgres,postgres=CTc/postgres}
 postgres  |     10 |        6 | ja_JP.UTF-8 | ja_JP.UTF-8 | f             | t            |           -1 |         13290 |         1822 |          1 |          1663 | 
 testdb    |     10 |        6 | ja_JP.UTF-8 | ja_JP.UTF-8 | f             | t            |           -1 |         13290 |         1822 |          1 |          1663 | 
(4 行)