ページの先頭行へ戻る
Enterprise Postgres 14 SP1 スケールアウト運用ガイド
FUJITSU Software

C.3.4 pgx_shdepend

pgx_shdependカタログは、PGXNODEのような共有オブジェクト間のリレーション依存関係を保持します。 この情報はPostgreSQLが依存関係を削除しようとする前に、これらのオブジェクトを参照されないように保証することを許可します。

多くのシステムカタログと異なり、pgx_shdependはクラスタのすべてのデータベースに共有されています。 データベースごとではなく、クラスタごとにただ1つのpgx_shdependのコピーがあります。

参照先

制約

説明

dbid

oid

pg_database.oid

依存するオブジェクトが格納されたデータベースのOIDです。共有オブジェクトでは0です。

classid

oid

pg_class.oid

依存するオブジェクトを含んだシステムカタログのOIDです。

objid

oid

いずれかのOID列

特定の依存するオブジェクトのOIDです。

objsubid

int4

テーブルの列の場合、これは列番号です(objidとclassidはテーブル自身を参照します)。 他のすべての種類のオブジェクトでは、この列は0になります。

refclassid

oid

pg_class.oid

参照されるオブジェクトが入っているシステムカタログのOIDです(共有カタログである必要があります)。

refobjid

oid

特定の参照されるオブジェクトのOIDです。

deptype

char

この依存関係の特定のセマンティクスを定義するコードです。

すべての場合において、pgx_shdepend項目は依存するオブジェクトも削除しない限り、参照されるオブジェクトを削除できないことを示します。 もっとも、deptypeによって指定される以下のようなオプションもあります。

SHARED_DEPENDENCY_OWNER (n) 参照されるオブジェクト(PGXNODEである必要があります)が依存する、オブジェクトが紐づけられているPGXNODEです。

他の依存関係のオプションが将来必要になる可能性があります。 現状の定義は、参照されるオブジェクトとしてPGXNODEのみをサポートしていることに特に注意してください。