PostgreSQL│データベース一覧の表示。WHERE区を使った部分一致

この記事では、PostgreSQLに作成したデータベース一覧を表示させるコマンドを説明します。

また、データベース名を部分的に指定して、条件に一致するデータベースのみ表示させる方法も併せて説明します。

目次

PostgreSQL_データベース一覧を表示

PostgreSQLのpsqlを使って、指定のコマンドを実行することによって、作成済みデータベースの一覧を表示させることができます。

基本_データベース一覧を表示

¥l

補足:エンとエル(イチではありません)

\l

SQL文でデータベース一覧を表示

前節では、PostgreSQLに作成したすべてのデータベース名を表示させるためのコマンドを説明しましたが、PostgreSQLはシステムカタログである[pg_database]というテーブルがあります。

[pg_database]から、SQLのSELECT文を実行してデータベース名を表示させることもできます。

まずは、pg_databaseのカラム名を取得してみましょう。

pg_databaseのカラム名を取得

¥d pg_database;
¥d pg_database;

上記のコマンドで、pg_databaseのカラム名が取得できました。次は、SELECT文を使って、任意のカラムを表示させますが、データベースの名前は[datname]というカラム名になりますので、[datname]をメインに表示させてみます。

SELECT文でデータベース一覧を表示

では、pg_databaseから[データベースの名前][所有者][エンコーディング]の3つのカラム情報を表示させてみましょう。

select datname,datdba,encoding from pg_database;
select datname,datdba,encoding from pg_database;

部分一致_データベース一覧を表示

PostgreSQLで、名前の部分一致でデータベース一覧を表示させたい場合には、前章のSELECT文にWHERE区を加えることで可能です。

ここでは、名前の末尾が[analytics]のデータベースを表示させます。

select datname,datdba,encoding from pg_database where datname like '%analytics';
select datname,datdba,encoding from pg_database where datname like ‘%analytics’;
ワイルドカードについて

SQLで使うワイルドカード(%)は、汎用的なワイルドカードの使い方と一緒です。

前方一致(〇〇%)

select datname,datdba,encoding from pg_database where datname like ‘analytics%‘;

後方一致(%〇〇)

select datname,datdba,encoding from pg_database where datname like ‘%analytics’;

部分一致(%〇〇%)

select datname,datdba,encoding from pg_database where datname like ‘%analytics%‘;

あとがき

今回は、PostgreSQLで作成済みデータベース一覧を表示させる方法と、データベース名を部分的に指定して条件に該当するデータベースを表示させる方法について、記事にしました。

psqlを使った方法と、SQLのSELECT文を使った方法です。用途に応じて、使いわけてみてください。

目次