53.37. pg_partitioned_table #

カタログpg_partitioned_tableはテーブルがどのようにパーティションに分けられているかに関する情報を格納します。

表53.37 pg_partitioned_tableの列

列 型

説明

partrelid oid (参照先 pg_class.oid

このパーティションテーブルのpg_classのエントリのOID

partstrat char

パーティショニング戦略。 h = ハッシュパーティションテーブル、 l = リストパーティションテーブル、 r = 範囲パーティションテーブル

partnatts int2

パーティションキーの列の数

partdefid oid (参照先 pg_class.oid

このパーティションのデフォルトパーティションのpg_classエントリのOID。 このパーティションテーブルにデフォルトパーティションがなければゼロ。

partattrs int2vector (参照先 pg_attribute.attnum

これはpartnatts値の配列で、どのテーブル列がパーティションキーの一部となっているかを示します。 例えば、値が1 3であれば、テーブルの1番目と3番目の列がパーティションキーを構成することを意味します。 この配列がゼロの場合は、対応するパーティションキー列が式であって、単なる列参照ではないことを示します。

partclass oidvector (参照先 pg_opclass.oid

これは、パーティションキーの各列について、使用する演算子クラスのOIDが入ります。 詳細についてはpg_opclassを参照してください。

partcollation oidvector (参照先 pg_collation.oid

これは、パーティションキーの各列について、パーティショニングで使用する照合のOIDが入ります。 列が照合できないデータ型の場合はゼロが入ります。

partexprs pg_node_tree

単純な列参照ではないパーティションキー列についての(nodeToString()形式での)式ツリーです。 partattrsがゼロの各エントリについて1つの要素があるリストになっています。 すべてのパーティションキー列が単純な参照ならNULLとなります。