PostgreSQLデータベースサーバを管理する場合、最も一般的なタスクの一つは、データベースとそのテーブル

PostgreSQLには、psqlという対話型ツールが付属しており、サーバーに接続してクエリを実行できます。 psqlを使用する場合は、そのメタコマンドを利用することもできます。 これらのコマン, すべてのメタコマンドは、引用符で囲まれていない円記号で始まり、円記号コマンドとも呼ばれます。

このチュートリアルでは、psqlを使用してPostgreSQLサーバにデータベースとテーブルを表示する方法について説明します。

Listing Databases#

PostgreSQLサーバーに接続するには、psqlコマンドを任意のシステムユーザーとして使用します。 サーバーの構成によっては、ユーザーがpsqlターミナルに接続するためにパスワードを入力する必要がある場合があります。, 現在ログインしているユーザーとしてpsqlターミナルにアクセスするには、単にpsqlと入力します。

PostgreSQLパッケージがインストールされると、”postgres”という名前の管理ユーザが作成されます。 デフォルトでは、このユーザーへの接続と地域のPostgreSQLサーバーなパスワードになります。

ユーザー”postgres”としてpsqlターミナルにアクセスするには、次のコマンドを実行します。

sudo -u postgres psql
sudoコマンドを使用すると、別のユーザーとしてコマンドを実行できます。,

psqlターミナル内から\lまたは\listメタコマンドを実行して、すべてのデータベースを一覧表示します。

\l

出力には、データベースの数、各データベースの名前、所有者、エンコーディング、アクセス権限が含まれます。

postgresqlサーバには、デフォルトで作成されたtemplate0、template1、postgresの三つのデータベースがあります。 最初の二つは、新しいデータベースを作成するときに使用されるテンプ,データベースのサイズ、デフォルトの表領域、および説明に関する情報を取得する場合は、\l+または\list+を使用します。 データベースサイズは、現在のユーザーが接続できる場合にのみ表示されます。, psqlシェルにアクセスしないすべてのデータベースのうち、-cスイッチを使用します。

sudo -u postgres psql -c "\l"

データベースをリストする別の方法は、次のSQLステートメントを使用することです。

SELECT datname FROM pg_database;

\lメタ-コマンド上記のクエリは、データベースの名前のみを表示します。

 datname ----------- postgres odoo template1 template0(4 rows)

テーブルのリスト#

特定のデータベースのすべてのテーブルをリストするには、まず\cまたは\connectメタコマンドを使用して接続する必要があります。, Psqlターミナルにログインしているユーザーは、データベースに接続できる必要があります。,

たとえば、”odoo”という名前のデータベースに接続するには、次のように入力します。

\c odoo

データベースを切り替えたら、\dtメタコマンドを使用してすべてのデータベーステーブルをリストします。

出力には、テーブルの数、各テーブルの名前、スキーマ、タイプ、所有者が含まれます。

データベースが空の場合、出力は次のようになります。

No relations found.

テーブルのサイズに関する情報を取得し、説明は\dt+。,

結論#

psqlコマンドを使用してPostgreSQLデータベースとテーブルをリストする方法を学びました。