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データベースとテーブルをリストする方法を学びました。
コメントを残す