oid oid
行識別子
|
typname name
データ型名
|
typnamespace oid
(参照先 pg_namespace .oid )
この型を含む名前空間のOID
|
typowner oid
(参照先 pg_authid .oid )
型の所有者
|
typlen int2
固定長型では、typlen は型の内部表現内でのバイト数です。
しかし、可変長型ではtyplen は負です。
-1は「varlena」型(最初の4バイトにデータ長を含むもの)を意味し、-2はヌル終端のC言語の文字列を示します。
|
typbyval bool
typbyval は内部関数がこの型の値を値渡しか、参照渡しかを決定します。
typlen が1、2、4バイト長(もしくはDatumが8バイトのマシン上では8バイト長)以外であれば、typbyval をfalseにする必要があります。
可変長型は必ず参照渡しになります。
typbyval は長さが値渡し可能でもfalseになり得ることに注意してください。
|
typtype char
typtype では、
b = 基本型、
c = 複合型(例えばテーブルの行の型)、
d = 派生型(ドメインなど)、
e = 列挙型、
p = 疑似型、
r = 範囲型、
m = 多重範囲型です。
typrelid およびtypbasetype も参照してください。
|
typcategory char
typcategory は、パーサがどの暗黙のキャストが「選択」されるべきか決定するのに使用されるデータ型の任意の分類です。
表 53.65を参照してください。
|
typispreferred bool
型がtypcategory 内で選択されたキャスト対象である場合はtrue
|
typisdefined bool
型が定義されている場合はtrue。
ここが未定義型に対する予備の場所である場合はfalse。
typisdefined がfalseの場合、型名と名前空間とOID以外は信頼すべきでありません。
|
typdelim char
配列入力の構文解析をする際にこの型の2つの値を分離する文字。
区切り文字は配列データ型ではなく配列要素データ型に関連付けられることに注意してください。
|
typrelid oid
(参照先 pg_class .oid )
もしこれが複合型(typtype を参照)であれば、この列は関連するテーブルを定義するpg_class 項目を指します。
(独立の複合型の場合、pg_class 項目は実際にはテーブルを表しませんが、いずれにしても型のpg_attribute 項目をリンクするために必要です。)
複合型でない場合はゼロです。
|
typsubscript regproc
(参照先 pg_proc .oid )
添字ハンドラ関数のOID、あるいはこの型が添え字付けをサポートしていなければゼロ。
「本当の」配列型では、typsubscript = array_subscript_handler となります。
しかし、他の型では特別な添え字付けの振る舞いを実装するハンドラ関数を持つかもしれません。
|
typelem oid
(参照先 pg_type .oid )
typelem がゼロでない場合、これは添字付けによって生成された型を定義するpg_type の別の列を特定します。
typsubscript がゼロなら、これはゼロとなるはずです。
しかし、添字付けの結果型を決定するためにハンドラがtypelem を必要としてなければ、typsubscript がゼロでなくても、ゼロとなることがあります。
typelem 依存性は、この型の要素型を物理的に含むことを暗示すると考えられることに注意してください。
ですからこの要素型に対するDDL変更は、この型に存在に制限されるかもしれません。
|
typarray oid
(参照先 pg_type .oid )
typarray がゼロでない場合、typarray はpg_type 内のもうひとつの行を特定します。
もうひとつの行は、この型を要素として持っている「本当」の配列型です。
|
typinput regproc
(参照先 pg_proc .oid )
入力変換関数(テキスト形式)
|
typoutput regproc
(参照先 pg_proc .oid )
出力変換関数(テキスト形式)
|
typreceive regproc
(参照先 pg_proc .oid )
入力変換関数(バイナリ形式)、なければゼロ
|
typsend regproc
(参照先 pg_proc .oid )
出力変換関数(バイナリ形式)、なければゼロ
|
typmodin regproc
(参照先 pg_proc .oid )
型修飾子の入力関数。型が修飾子をサポートしていない場合はゼロ
|
typmodout regproc
(参照先 pg_proc .oid )
型修飾子の出力関数。標準書式を使用する場合はゼロ
|
typanalyze regproc
(参照先 pg_proc .oid )
独自のANALYZE関数。標準関数を使用する場合はゼロ
|
typalign char
typalign はこの型の値を格納する際に必要な整列です。
ディスク上での格納だけでなく、PostgreSQL内部の値の表現にも適用されます。
ディスク上の完全な行の表現のように、複数の値が隣接して格納される際には、指定された境界で始まるように、この型のデータの前にパディングが挿入されます。
アライメントの参照先は、連続しているデータ中の先頭のデータの開始位置です。
使用可能な値は以下の通りです。
c = char 整列(すなわち、整列は必要ありません)。
s = short 整列(多くのマシンでは2バイトになります)。
i = int 整列(多くのマシンでは4バイトになります)。
d = double 整列(多くのマシンでは8バイトになりますが、必ずしもすべてがそうであるとは限りません)。
|
typstorage char
typstorage は、varlena型(typlen = -1であるもの)において、その型がトーストされる予定であるか、この型においてアトリビュートに対するデフォルトの戦略が何であるかを示します。
可能な値は以下です。
p (plain):値は常にplainで格納されなければなりません(非varlena型は常にこの値を使います)。
e (external):値は「従属的」リレーションに格納できます(リレーションがあるとき。リレーションに関してはpg_class.reltoastrelid を参照してください)。
m (main):値は圧縮してインラインで格納できます。
x (extended):値は圧縮することもできますし、圧縮した上で更に従属的リレーションに移動することもできます。
トースト可能な型に対しては x が通常の選択です。
m 値も、どうしても必要なら従属的格納に移動できることに注意してください(e と x 値は、まず最初に移動します)。
|
typnotnull bool
typnotnull は型に対し非NULL制約を表します。
ドメインでのみ使用されます。
|
typbasetype oid
(参照先 pg_type .oid )
もしこれがドメイン(typtype を参照)であれば、typbasetype はこれが基づいている型を指定します。
ドメインでない場合はゼロです。
|
typtypmod int4
ドメインはtyptypmod を使用して、基本型に適用されるtypmod を記録します
(基本型がtypmod を使用しない場合は-1)。
この型がドメインでない場合は-1です。
|
typndims int4
typndims は配列であるドメインの配列の次元数です
(つまり、typbasetype は配列型です)。
配列型のドメインでない場合はゼロです。
|
typcollation oid
(参照先 pg_collation .oid )
typcollation は型の照合順序を指定します。
型が照合順序をサポートしない場合、ゼロになります。
照合順序をサポートする基本型はここでゼロ以外の値を持ちます。典型的にはDEFAULT_COLLATION_OID です。
照合順序の設定可能な型全体のドメインは、そのドメインで照合順序が指定されていれば、基本型とは異なる照合順序OIDを持つことができます。
|
typdefaultbin pg_node_tree
typdefaultbin がNULLでない場合、これは型のデフォルト式のnodeToString() 表現です。
ドメインでのみ使用されます。
|
typdefault text
関連するデフォルト値を持たない型であればtypdefault はNULLです。
typdefaultbin がNULLでない場合、typdefault は、typdefaultbin によって表される人間が見てわかる形式のデフォルト式を含む必要があります。
typdefaultbin がNULLでtypdefault がNULLでない場合、typdefault は型のデフォルト値の外部表現です。
これは、定数を生成するために型の入力変換処理に渡されることがあります。
|
typacl aclitem[]
アクセス権限。
詳細は5.7を参照してください
|