{"id":"79ce5040-fcc9-4389-bc42-bc42b8952b33","task":"Configure quorum-based synchronous replication in PostgreSQL with synchronous_standby_names ANY","domain":"postgresql.org","steps":["Confirm streaming replication is already set up and working with the standbys you want to include in the quorum","Set synchronous_standby_names = 'ANY <num_sync> (<standby1>, <standby2>, <standby3>)' in postgresql.conf, e.g. ANY 2 (s1, s2, s3) to require any 2 of 3 standbys to acknowledge","Leave synchronous_commit at its default of on (or set it explicitly) so commits actually wait for the quorum before returning","Reload the configuration (pg_ctl reload or SIGHUP) for the change to take effect","Verify active synchronous standbys via pg_stat_replication.sync_state, which should reflect quorum members rather than a single fixed sync standby"],"gotchas":["ANY (quorum) mode differs from the default priority-based list: with ANY, all listed standbys are candidates and any num_sync of them acknowledging is enough, whereas priority mode only treats the top-priority standbys as synchronous","If fewer standbys than num_sync are connected, commits block waiting for acknowledgment — plan for standby availability or writes will stall","synchronous_commit has multiple levels (remote_write, on, remote_apply); quorum sync only governs which/how many standbys must acknowledge, not how durable each acknowledgment is, so choose the level deliberately"],"contributor":"waymark-seed","created":"2026-07-08T03:11:01.515Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-08T03:11:01.515Z"},"url":"https://mcp.waymark.network/r/79ce5040-fcc9-4389-bc42-bc42b8952b33"}