PostgreSQL テーブル一覧から様々な情報を見る

 2018.07.17  株式会社システムインテグレータ

PostgreSQL テーブル一覧に様々な情報を表示する

SI Object Browser for Postgres でデータベースに接続すると、最初にオブジェクトリストが表示されます。ところで、このオブジェクトリストでもう少し情報を確認したい、と思ったことはありませんか? たとえばテーブルがどれくらいのサイズなのか、テーブルを11個開かずに確認したいことは多いのではないでしょうか。

SI Object Browser for Postgresでは、簡単な設定一つで、テーブルやビューなど、オブジェクトのより詳細な情報を一覧表示できるようになります。

設定方法

[ツール]メニューから[オプション]画面を開きます。

オブジェクトリストタブの[オブジェクト固有の詳細情報を表示する]にチェックを入れて[OK]します。

PostgreSQL テーブル一覧から様々な情報を見る 1

1 [オブジェクト固有の詳細情報を表示する]にチェックを入れる
 

再度オブジェクトリストの[TABLE]を開くと、一覧に表示されている列が増えていることがわかります (2)

PostgreSQL テーブル一覧から様々な情報を見る 2

PostgreSQL テーブル一覧から様々な情報を見る 3

いまさら聞けない Oracleの基本 [中級編]
新規CTA

 2 初期設定のテーブル一覧と表示項目を増やしたテーブル一覧

列の見方

先の設定で増えた列の見方をご紹介します。

テーブル (TABLE)

まずテーブルです。図2に示したように、以下の項目が追加されています。

列名

説明

テーブルスペース

テーブルが格納されているテーブルスペース (表領域)

サイズ

テーブルのサイズが表示されます (KB単位)

インデックス

この列が◯となっているテーブルにはインデックスが設定されています

トリガー

この列が◯となっているテーブルにはトリガーが設定されています

ルール (※1)

この列が◯となっているテーブルにはルールが設定されています

継承 (※2)

この列が◯となっているテーブルは、他のテーブルを継承して作成されています

 ※1
ルールとは、テーブルに対してクエリ (SELECT, INSERT, UPDATE, DELETE) が実行されたとき、そのクエリを動的に書き換え、追加の処理を実行させたり、別の処理に置き換えたりすることができる仕組みです。SI Object Browser for Postgresでは、ルールの作成や編集を行うことができます。

※2
継承で作成されたテーブルは、その親となるテーブルのカラムをすべて持ち、親テーブルへの問い合わせ時に、結果に含めることができます。SI Object Browse for Postgresでは、テーブル作成時に[領域情報]タブの[格納方法]を[継承]にすることで、親テーブルを継承した表を作成できます。 

インデックス (INDEX)

列名

説明

テーブルスペース

インデックスが格納されているテーブルスペース (表領域)

サイズ

インデックスのサイズ (KB単位)

テーブル名

インデックス対象テーブルの名称

テーブルスキーマ

インデックス対象テーブルが所属するスキーマ

ファンクション (FUNCTION)

列名

説明

引数

引数の型

戻り値

戻り値の型

トリガー (TRIGGER)

列名

説明

テーブル名

トリガーが作用するテーブルの名称

テーブルスキーマ

トリガーが作用するテーブルの所属スキーマ

タイミング

トリガー発動のタイミング (BEFORE, AFTER, INSTEAD)

イベント

トリガー発動のフックとなるイベント

(INSERT, UPDATE, DELETE, TRUNCATE)

ファンクションスキーマ

トリガーで使用するファンクションのスキーマ

使用ファンクション

トリガーで使用するファンクションの名称

シーケンス (SEQUENCE)

列名

説明

現在値

シーケンスの現在値

最小値

シーケンスの最小値

最大値

シーケンスの最大値

増分

シーケンスの増分値

サイクル

シーケンスが周回する場合YES、しない場合NOが表示されます

キャッシュ

キャッシュ数 (メモリに格納しておくシーケンス番号の量)

制約 (CONSTRAINT)

列名

説明

制約種別

制約の種別

P……主キー (PRIMARY KEY) 制約

F……外部キー (FOREIGN KEY) 制約

U……一意 (UNIQUE) 制約

C……チェック (CHECK) 制約

E……排他 (EXCLUDE) 制約

テーブル名

制約対象テーブルの名称

テーブルスキーマ

制約対象テーブルの所属スキーマ

ルール (RULE)

列名

説明

テーブル名

ルールが作用するテーブルの名称

テーブルスキーマ

ルールが作用するテーブルの所属スキーマ

イベント

ルール発動のフックとなるイベント

(INSERT, UPDATE, DELETE, SELECT)

動作種別

ルールの動作種別 (ALSO, INSTEAD)

[RELATED_POSTS]


まとめ

簡単な設定一つで、個別のオブジェクトを逐一開かなくても様々な情報を一覧表示できるようになります。

[オブジェクト固有の詳細情報を表示する]機能は、Oracle版をはじめ他のエディションにも搭載されている設定項目ですが、Postgres版ではルールや継承など、他のデータベースにはない機能についても確認することができるので、今回取り上げてみた次第です。 

SI Object Browser for PostgresPostgreSQLをより便利にご利用いただければ幸いです。

いまさら聞けない Oracleの基本

RELATED POST関連記事


RECENT POST「【DB入門】PostgresとSQL Server」の最新記事


【DB入門】PostgresとSQL Server

SI Object Browser for Postgresテーブルへ のカラム追加について

【DB入門】PostgresとSQL Server

PostgreSQL セッション情報を確認する

【DB入門】PostgresとSQL Server

PostgreSQL ユーザーを作成してみる

【DB入門】PostgresとSQL Server

PostgreSQL pg_stat_statementsで統計情報を見てみよう

PostgreSQL テーブル一覧から様々な情報を見る
新規CTA