アンドロイド

psqlを使用してpostgresqlデータベースとテーブルをリストする方法

目次:

Anonim

PostgreSQLデータベースサーバーを管理する場合、実行する可能性が最も高いタスクの1つは、データベースとそのテーブルの一覧表示です。

PostgreSQLには、サーバーに接続してクエリを実行できる psql という対話型ツールが付属しています。 psql を使用する場合、メタコマンドを利用することもできます。 これらのコマンドは、スクリプト作成およびコマンドライン管理に役立ちます。 すべてのメタコマンドは、引用符で囲まれていないバックスラッシュで始まり、バックスラッシュコマンドとも呼ばれます。

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

データベースのリスト

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

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

ユーザー「postgres」として psql ターミナルにアクセスするには、次を実行します。

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

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

\l

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

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

PostgreSQLサーバーには、デフォルトでtemplate0、template1、postgresの3つのデータベースが作成されています。 最初の2つは、新しいデータベースを作成するときに使用されるテンプレートです。

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 メタコマンドを使用してすべてのデータベーステーブルを一覧表示します。

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

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

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

No relations found.

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

結論

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

ご質問がある場合は、コメントをお気軽にお寄せください。

postgresql