他のバージョンの文書 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

52.19. pg_replication_slots #

pg_replication_slotsは、現在存在するデータベースクラスタとその状態、全てのレプリケーションスロットの一覧を提供します。

レプリケーションスロットに関する詳細は、26.2.6第47章を参照してください。

表52.19 pg_replication_slotsの列

列 型

説明

slot_name name

クラスタ間で一意なレプリケーションスロットの識別子

plugin name

出力プラグインに使用されている論理スロットまたは物理スロットの場合はNULL、を含む共有オブジェクトの基底名。

slot_type text

スロットのタイプ:physicalまたはlogical

datoid oid (参照先 pg_database.oid

このスロットと関連しているデータベースのOID、またはNULL。論理スロットだけがデータベースと関連を持つことができます。

database name (参照先 pg_database.datname

このスロットと関連しているデータベース名、またはNULL。論理スロットだけがデータベースと関連を持つことができます。

temporary bool

trueの場合は、これが一時レプリケーションスロットである。 一時スロットはディスクに保存されず、エラーのとき、またはセッションが終了したときには自動的に削除されます。

active bool

trueの場合は、このスロットが現在アクティブで使用されている

active_pid int4

このスロットが現在アクティブで使用されている場合は、スロットを使用しているセッションのプロセスID。アクティブでなければNULL

xmin xid

このスロットがデータベースとの接続を必要としている最も古いトランザクション。 VACUUM は後でトランザクションによって削除されたタプルを除去できません。

catalog_xmin xid

このスロットがデータベースとの接続を必要としている、システムカタログに影響する最も古いトランザクション。 VACUUMは後でトランザクションによって削除されたカタログのタプルを除去できません。

restart_lsn pg_lsn

消費者のスロットによって必要とされており、LSNが現在のLSNからmax_slot_wal_keep_size以上遅れていない限り、チェックポイント中に自動的に削除されない最も古いWALのアドレス(LSN)です。 このスロットのLSNが保存されていなければNULLです。

confirmed_flush_lsn pg_lsn

利用者がデータの受信を確認できている論理スロットのアドレス(LSN)。 このLSNより前にコミットされたトランザクションに対応するデータは、もはや有効ではありません。 物理スロットの場合はNULL

wal_status text

このスロットが報告するWALファイルの入手可能性。 可能な値は以下です。

  • reserved。報告されたファイルはmax_wal_size内であることを意味します。

  • extendedmax_wal_sizeは超えているものの、ファイルはレプリケーションスロットあるいはwal_keep_sizeによって保存されていることを意味します。

  • unreserved。そのスロットはもはや要求されたWALファイルが保存されず、次のチェックポイントでそのうちいくつかは削除される予定であることを意味します。 この状態はreservedまたはextendedに戻すことができます。

  • lost。必要なWALファイルの一部が削除されており、このスロットはもはや利用可能ではないことを意味します。

最後の2つの状態は、max_slot_wal_keep_sizeが非負の場合にのみ起こります。 restart_lsnがNULLなら、このフィールドはNULLです。

safe_wal_size int8

「ロスト」状態に陥る危険性のないスロットにおいて、WALに書き込むことのできるバイト数です。 失われたスロットに対して、あるいはmax_slot_wal_keep_size-1ならNULLです。

two_phase bool

trueの場合は、準備されたトランザクションのデコーディングのためにスロットが有効。 物理スロットでは常にfalse。

inactive_since timestamptz

スロットが非アクティブになってからの時間。 スロットが現在使用されている場合はNULL。 プライマリサーバから同期されているスタンバイ上のスロット(syncedフィールドがtrueのスロット)については、inactive_sinceは最後の同期(47.2.3を参照)時間を示します。

conflicting bool

trueの場合は、この論理スロットがリカバリと競合した(したため、無効になっている)。 この列がtrueの場合、競合理由をinvalidation_reason列で確認してください。 物理スロットでは常にNULL。

invalidation_reason text

スロットが無効化された理由。 論理スロットと物理スロットの両方で設定されます。 スロットが無効化されない場合はNULL。 指定可能な値は以下のとおりです。

  • wal_removedは、必要なWALが削除されたことを意味します。

  • rows_removedは、必要な行が削除されたことを意味します。 これは論理スロットに対してのみ設定されます。

  • wal_level_insufficientは、プライマリがロジカルデコーディングを実行するのに十分なwal_levelを持っていないことを意味します。 これは論理スロットに対してのみ設定されます。

failover bool

trueの場合は、この論理スロットがスタンバイに同期されるように有効になっており、フェイルオーバー後の新しいプライマリから論理レプリケーションを再開できます。 物理スロットの場合は、常にfalse。

synced bool

trueの場合は、これがプライマリサーバから同期された論理スロットです。 ホットスタンバイでは、同期されたカラムがtrueとマークされているスロットは、ロジカルデコーディングにも手動でドロップすることもできません。 この列の値はプライマリサーバでは意味を持ちません。 プライマリの列の値は、すべてのスロットに対してfalseですが、(昇格したスタンバイから残っている場合)trueになる場合もあります。