Postgresカラム名とinformation_schema
PostgreSQLテーブルやその他のオブジェクトに関する情報が必要な場合は、そのオブジェクトのスキーマを調べると便利です。 PostgreSQLでは、これらのスキーマは、他の重要な情報とともに、information_schemaにアクセスすることによって表示できます。 この記事では、Postgresqlに接続し、Postgres information_schemaを使用してテーブルスキーマを表示する方法を説明します。,
PostgreSQLを使用するための前提条件
PostgreSQLに接続していくつかのSQLステートメントを実行する前に、このタスクの主要な前提条件のいくつかを見てみましょう。
- 
まず、デバイスにPostgreSQLがインストールされていることを確認してください。 このサービスがインストールされているかどうかわからない場合は、 service postgresql statusコマンドを使用して、ステータスがactiveかどうかを調べます。コマンドラインからPostgreSQLと対話するには、psqlもインストールする必要があります。, コマンドpsql -Vを使用して、この対話型PostgreSQLインターフェイスがインストールされており、マシンで動作していることを確認できます。

テーブルスキーマを表示するために使用されるPostgres用のデータベースを作成します
サーバーにPostgreSQLデータベースが設定されていない場合は、このチュートリアルと共に従うために使用できるデータベースを作成してください。, 以下のコマンドを使用してデータベースを作成できます。
| 1 | データベースを作成some_db; | 
- コマンドを入力します\lpsqlコマンドラインインターフェイスで、postgresサーバー上のすべてのデータベースのリストを表示します。
- 次に、コマンドを使用します\cそのデータベースに接続するには、データベース名を続けます。,
‘psql’コマンドラインインターフェイスを使用したPostgreSQLへのアクセス
psqlコマンドラインインターフェイスを使用してPostgreSQLデータベースにアクセスするには、次のコマンドを使用できます。
| 1 | sudo su-postgres | 
パスワードの入力を求められます。 それを入力すると、PostgreSQLにアクセスできるようになります。,
接続したら、次のコマンドを使用してユーザー名でデータベースにアクセスします。
| 1 | psql some_username-h127.0.0.1-d some_database | 
-dフラグはpostgresデータベース名を示します。 パスワードを再度入力するよう求められた場合は、入力してRETURNキーを押します。,
データベースのすべてのPostgreSQLテーブルを表示する
すでに作成されているすべてのテーブルを表示する場合は、\dまたは\dtコマンド, 
‘pg_catalog’スキーマを使用してPostgreSQLテーブルを表示
SELECTステートメントを使用して、現在のデータベース内のすべてのテーブルに対してpg_catalogスキーマを表示することもできます。
| 1 | select*from pg_catalog.pg_tables where schemaname!=’pg_catalog’およびschemaname!,=’information_schema’; | 
上記のステートメントは、テーブルの名前、所有者、インデックスおよびその他の情報を表示します。
注:WHERE句を使用して、返されるセットPostgreSQLテーブルをフィルタリングします。 !=WHERE句で使用される演算子は、schemanameの値がNOT EQUAL TO指定された条件でなければならないことを示します。,
Postgresに接続してテーブルスキーマと列名を表示します
information_schema特定のPostgreSQLテーブルの列とスキーマ情報にアクセスするには、
| 1 2 3 | information_schemaから*を選択します。,columns WHERE table_schema=’some_schema’ AND TABLE_NAME=’some_table’; | 
注:WHERE句でテーブル名とスキーマ文字列値を参照する場合は、必ず一重引quotationで囲んでください(')エラーを回避するためにマークします。,
The next SQL statement will return all the information_schema‘s attributes for a particular table:
| 1 |  SELECT * FROM information_schema.,columns WHERE TABLE_NAME=’some_table’; | 
テーブルの列名を取得するには、Postgresのinformation_schemaを使用します
information_schemaからテーブルの列名だけにアクセスするこれをSELECTステートメントで指定します。
| 1 | information_schemaから列名を選択します。,PostgreSQLテーブルの列名を表すデータのいくつかの行:
 
 
 スキーマを使用してPostgreSQLのショーテーブルへの結論PostgreSQLでデータを扱っているとき、あなたはおそらく自分のテーブルに関する情報を取得する必要があります。, 幸いなことに、PostgreSQLに接続し、 0 コメントを残す | 
