Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
50.8. Synchronous Replication Support for Logical Decoding
Prev UpChapter 50. Logical DecodingHome Next

50.8. Synchronous Replication Support for Logical Decoding#

50.8.1. Overview#

Logical decoding can be used to buildsynchronous replication solutions with the same user interface as synchronous replication forstreaming replication. To do this, the streaming replication interface (seeSection 50.3) must be used to stream out data. Clients have to sendStandby status update (F) (seeSection 56.4) messages, just like streaming replication clients do.

Note

A synchronous replica receiving changes via logical decoding will work in the scope of a single database. Since, in contrast to that,synchronous_standby_names currently is server wide, this means this technique will not work properly if more than one database is actively used.

50.8.2. Caveats#

In synchronous replication setup, a deadlock can happen, if the transaction has locked [user] catalog tables exclusively. SeeSection 50.6.2 for information on user catalog tables. This is because logical decoding of transactions can lock catalog tables to access them. To avoid this users must refrain from taking an exclusive lock on [user] catalog tables. This can happen in the following ways:

  • Issuing an explicitLOCK onpg_class in a transaction.

  • PerformCLUSTER onpg_class in a transaction.

  • PREPARE TRANSACTION afterLOCK command onpg_class and allow logical decoding of two-phase transactions.

  • PREPARE TRANSACTION afterCLUSTER command onpg_trigger and allow logical decoding of two-phase transactions. This will lead to deadlock only when published table have a trigger.

  • ExecutingTRUNCATE on [user] catalog table in a transaction.

Note that these commands can cause deadlocks not only for the system catalog tables listed above but for other catalog tables.


Prev Up Next
50.7. Logical Decoding Output Writers Home 50.9. Streaming of Large Transactions for Logical Decoding
pdfepub
Go to Postgres Pro Enterprise 17
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp