postgresql9.1.1解像度のテーブル構造

pg_classエントリ、テーブル、インデックス、シーケンス、ビュー(「関係」)。フィールド:
relnameという呼び方のテーブル、インデックス、ビューなど
名前空間(モード)との関係のrelnamespace OID、対応pg_namespace.oid
relkind = R&LT通常のテーブル、iは=インデックス、S =シーケンス、V =ビュー、C =複合型、S =特定、T = TOASTテーブル

:pg_namespace、名前空間(モード)、フィールド
名nspname名前空間の
所有者nspowner名前空間

pg_attribute、テーブルのフィールドに関するデータベースレコード情報。
フィールド:
この列/フィールドのテーブルが属するattrelid、pg_class.oidに対応する
フィールド名attname
pg_type.oidもしに対応し、データタイプはこのフィールドをatttypidを
固定長タイプのattlen、タイプtyplen内部表現のバイト数。可変長型のため、typlenは負です。-1、「可変長」タイプ(データ長ワード)を意味-2 NULLは、C文字列を終了示します。フィールドのこのタイプは、pg_type.typlenのコピーです。
attnumフィールドの数。通常のフィールドから1をカウントします。OIDなどのフィールド装置は、(任意の)正の数を有しています。
atttypmod atttypmodタプルタイプデータに関連する(例えば、VARCHARフィールドの最大長さ)が設けられてテーブルを作成します。これは、第三のパラメータとして伝達関数に関連付けられた入力タイプと長さに伝達されます。通常atttypmodを必要としない-1値の型については。
attnotnullこれは、NOT NULL制約を表します。私たちは、この制約を開閉するために、このフィールドを変更することができます。
attisdroppedこのフィールドには、それはもはや、有効されて削除されていません。
注:フィールドタイプは、可変長のタイプ(例えばVARCHAR)である場合、それはatttypmodに4つ以上の実際の長さの長さを格納します。フィールドタイプが数値である場合、長さは、精度情報atttypmodを得ることができます。

pg_typeシステムカタログ、データ型。フィールド:
typnameデータ・タイプ名
固定長タイプにtyplen、内部表現typlenタイプのバイトの数。可変長型のため、typlenは負です。-1、「可変長」タイプ(データ長ワード)を意味-2 NULLは、C文字列を終了示します。

pg_descriptionで、オブジェクト(テーブル、フィールドなど)の注意事項。フィールド:
本明細書記載のオブジェクトOIDをobjoidもしくは。このコメントはpg_class.oidに対応して、その後、テーブル内のコメントフィールドまたはテーブルであれば
pg_attribute.attnumに対応するフィールドの番号であり、テーブルのobjsubidコメントフィールドを、。他のタイプのオブジェクトの場合、それはゼロです。
説明するように、オブジェクトのフリーテキスト記述

-スキーマ、テーブルの作成
スキーマ「ZYJ」を作成し、
スキーマ「ZYJ」を作成します。

テーブル"zyj" .a34(ID INT主キー、名前VARCHAR(6)、ADDRのVARCHAR(6))を作成します。
テーブル"ZYJ" .a34(ID INT主キー、名前VARCHAR(6)、ADDRのVARCHAR(6))を作成します。

-查询用户表
名、コメントAS b.description AS a.oid、a.relname SELECT
のpg_class FROM
LEFT OUTERがb.objsubid = 0 ONはpg_description bを登録してa.oid = b.objoidを
a.relnamespace =は、(SELECT WHERE OID pg_namespace FROM WHERE nspname = 'zyj')
AND a.relkind = 'R'
a.relname BY ORDER。

-使用表名查询表字段的定义
フィールド、長さa.attlenタイプ、lengthvar AS a.atttypmod、AS t.typname AS a.attrelid、a.attnum、a.attname SELECT
a.attnotnull ASにnotnull、Bをコメントとして.DESCRIPTION
のpg_class Cからの、のpg_attribute
LEFT OUTERはa.attrelid = b.objoid AND a.attnum = b.objsubid、ONはpg_description bをJOIN
pg_typeシステムカタログT
WHERE c.relname = 'A34'
及びa.attnum> 0
と.attrelid = c.oid
とa.atttypid = t.oid
a.attnum BY ORDER。

-使用表OID查询表字段的定义
フィールド、a.attnotnull ASにnotnull長さとしてa.attlenタイプ、lengthvar AS a.atttypmod、AS t.typname、コメントAS b.description AS a.attnameを選択
のpg_attribute FROM
LEFT OUTERはa.attrelid = b.objoid AND a.attnum = b.objsubid、ONはpg_description bをJOIN
pg_typeシステムカタログT
WHERE a.attnum> 0
とa.attrelid = 16564
とa.atttypid = t.oid
a.attnum BY ORDER。

おすすめ

転載: www.cnblogs.com/buffercache/p/11607838.html