Categories: PostgreSQL

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文を使った方法です。用途に応じて、使いわけてみてください。

Analytics沖縄

SQL・データベース・統計の基礎を、実務で使える形に整理して発信しています。専門家として断定するのではなく、公式情報や動作確認をもとに、検索して来た人が迷わず使える記事を目指しています。 複数のWebメディアを運営してきた経験を活かし、正確さと読みやすさの両立を重視しています。

Share
Published by
Analytics沖縄

Recent Posts

記述統計とはなにか|データを要約する考え方

手元に数万行のログがあっても、…

1週間 ago

SQLの種類|DDL、DML、DCL(命令言語の分類)

今回は、データベースに対する命…

2年 ago

SQL|FROM句の使い方。基本構文とテーブル指定の実例

今回は、SQLの基本かつ使用頻…

2年 ago