psqlのPostgreSQLデータベースのリストやテーブルを使用する方法

PostgreSQLのデータベースサーバを管理する場合、あなたがしたいかもしれない最も一般的なタスクの1つは、データベースとそのテーブルをリストです。

PostgreSQLは、サーバーに接続し、そのクエリを実行することを可能にするのpsqlと呼ばれるインタラクティブなツールが付属しています。使用psqlで、それはまた、メタコマンドを使用することができます。これらのコマンドは、スクリプトとコマンドライン管理に便利です。すべてのメタコマンドもバックスラッシュコマンドと呼ばれ、非引用されたバックスラッシュで始まります。

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

リストデータベース

あなたは、任意のシステム・ユーザーにPostgreSQLサーバに接続するためにはpsqlコマンドを使用することができます。サーバの設定は、ユーザーがその端末にpsqlに接続するためのパスワードを入力する必要があります。あなたは現在ログインしているユーザとしてpsqlの端子にアクセスするには、単にpsqlを入力することができます。

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

「postgresの」ユーザーID、アクセス端末psqlは、実行するには:

sudoの-uのpostgresはpsql

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

\ Lまたは\リストメタコマンドリストのすべてのデータベースからpsqlの端子の実行:

\リットル

出力は、データベースの数、各データベース名、所有者、エンコーディングおよびアクセスが含まれます:

次のように出力されます。

                              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データベースサーバは、3つのデフォルト作成し、template1では、template1のとはpostgresを持っています。最初の二つは、新しいデータベースを作成するときに使用するテンプレートです。

あなたは、デフォルトの表スペースについて、データベースのサイズ、および説明情報についての情報を得るの\リットル+または\リスト+を使用したい場合。現在のユーザーがデータベースに接続することができた場合にのみ、データベースのサイズが表示されます。

アクセスpsqlのシェルなしでデータベースのリストを取得するには、以下のよう-cスイッチを使用します。

sudoの-uのpostgresはpsql -c "\ lの"

もう一つの方法は、データベースには、次のSQLステートメントを示しています使用することです:

pg_databaseのFROM datnameを選択します。

そして、上記のクエリは異なる\ lのメタコマンドは、データベースの名前のみが表示されます:

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

次の表は、

最初の特定のデータベース内のすべてのテーブルをリストするには、\ cを使用する必要がありますまたは\それに接続するためのメタコマンドを接続してください。あなたは、データベースに接続できる必要があり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)

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

何の関係が見つかりませんでした。

テーブルのサイズに関する情報を取得するには、\ DT +命令を使用します。

結論

あなたは、PostgreSQLのデータベースとテーブルを表示するにはpsqlコマンドを使用する方法を学びました。

おすすめ

転載: www.linuxidc.com/Linux/2019-08/159896.htm