{"Entry":{"collection":"guc","key":"recovery_target_xid","name":"recovery_target_xid","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Write-Ahead Log / Recovery Target","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"11","status":"added","to":"12"},{"documentation_changed":true,"fields":{},"from":"18","status":"changed","to":"19"}],"content_hash":"713c720e9d32313af6309dc35088c7f3821c67858c7aedbeeec804f3861b267a","context":"","default_changed_in":[],"default_history":[{"from":"12","to":"19","value":"Empty string"}],"editorial":{"advice":{"olap":"For a large restore, budget WAL replay and inspection time first. Validate the reached point read-only; do not let heavy analytical queries delay or contaminate the recovery decision.","oltp":"This is not a steady-state performance knob. Set recovery_target_xid only on an isolated recovery instance after recording target evidence, base backup, timeline, and expected boundary; rehearse and require a second-person review.","small":"Prefer a backup tool that generates a controlled recovery configuration. Never leave target settings in ordinary primary/standby templates, and clean up signal files and targets afterward."},"mechanism":["Sets the transaction ID up to which recovery will proceed. The value is fixed when the server starts, so changing it requires a restart.","The target is a commit record for the named transaction ID, not a simple numeric ordering of all transactions: XIDs are assigned at start and can commit out of order. recovery_target_inclusive controls whether that target transaction is included.","At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, and recovery_target_xid may be set; timeline, inclusive, and action are modifiers. Rehearse from the same base backup through a complete WAL chain—an unreachable target makes targeted recovery fail."],"pitfalls":["Assuming numeric XID order equals commit order; XIDs are assigned when transactions start.","Using an XID copied from another cluster or unrelated timeline.","Setting another recovery target selector at the same time.","Choosing inclusive without deciding whether the target transaction itself must be present.","Treating an XID as a globally unique business identifier across wraparound and clusters."],"references":[{"title":"PostgreSQL 19 Beta 4: recovery_target_xid","url":"https://www.postgresql.org/docs/19/runtime-config-wal.html#GUC-RECOVERY-TARGET-XID"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["recovery_target","recovery_target_time","recovery_target_lsn","recovery_target_name","recovery_target_inclusive","recovery_target_action"],"summary":"recovery_target_xid sets the transaction ID up to which recovery will proceed. It is a postmaster setting present in PG12–18; the latest recorded boot default is empty."},"enumvals":[],"first_version":"12","group":"Write-Ahead Log","group_slug":"wal","imported_at":"2026-09-27T17:57:31.890666+08:00","intro_commit":{"authored_at":"2018-11-25T16:31:16+01:00","discussion":["https://www.postgresql.org/message-id/flat/607741529606767@web3g.yandex.ru/"],"hash":"2dedf4d9a899b36d1a8ed29be5efbd1b31a8fe85","subject":"Integrate recovery.conf into postgresql.conf","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=2dedf4d9a899b36d1a8ed29be5efbd1b31a8fe85"},"key":"recovery_target_xid","last_version":"20","max_val":"","min_val":"","name":"recovery_target_xid","position":332,"present_in":["12","13","14","15","16","17","18","19","20"],"short_desc":"This parameter specifies the transaction ID up to which recovery will proceed.","short_desc_zh":"","source_rev":"english-manuals:2ae6be418bc5f94a6ee07170112c7df0399ed80f7c69ef5bda3e44ec92e54aab","unit":"","vartype":"string"}},"Definition":{"Collection":"guc","Key":"recovery_target_xid","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"recovery_target_xid","SourceRevision":"english-manuals:2ae6be418bc5f94a6ee07170112c7df0399ed80f7c69ef5bda3e44ec92e54aab","Facts":{"boot_val":"","category":"Write-Ahead Log / Recovery Target","context":"postmaster","description":"This parameter specifies the transaction ID up to which recovery will proceed. Keep in mind that while transaction IDs are assigned sequentially at transaction start, transactions can complete in a different numeric order. The transactions that will be recovered are those that committed before (and optionally including) the specified one. The precise stopping point is also influenced by recovery_target_inclusive.","doc":{"anchor":"GUC-RECOVERY-TARGET-XID","file":"runtime-config-wal.html","lang":"en","sha256":"d2646404a06e8f7ac655204b4f28c049ae8f3fd4f2272db080fcefa2c4af0763","slug":"18"},"documented":true,"enumvals":null,"extra_desc":null,"lang":"en","max_val":null,"metadata_version":"18","min_val":null,"name":"recovery_target_xid","short_desc":"Sets the transaction ID up to which recovery will proceed.","source":"pg-settings-source-snapshot","unit":null,"vartype":"string"},"ManualEvidence":{"doc":{"anchor":"GUC-RECOVERY-TARGET-XID","file":"runtime-config-wal.html","lang":"en","sha256":"d2646404a06e8f7ac655204b4f28c049ae8f3fd4f2272db080fcefa2c4af0763","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"recovery_target_xid","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"recovery_target_xid","Summary":"","BodyHTML":"\u003cp\u003e这个参数指定恢复要进行到的事务 ID。记住虽然事务 ID 是在事务开始时顺序分配的，但是事务可能以不同的数字顺序完成。那些在指定事务之前（也可以包括该事务）提交的事务将被恢复。精确的停止点也受到\u003ca href=\"/docs/18/runtime-config-wal.html#GUC-RECOVERY-TARGET-INCLUSIVE\" rel=\"nofollow\"\u003erecovery_target_inclusive\u003c/a\u003e的影响。\u003c/p\u003e","SourceRevision":"2026-09-11@29c86d9","ContentHash":"4c43d9058c3159ee92724835137247e9cd674738e4b2d4f6a67e7f686906ffc4","Payload":{"carried_from":"","carry_reason":"","doc_html":"\u003cp\u003e这个参数指定恢复要进行到的事务 ID。记住虽然事务 ID 是在事务开始时顺序分配的，但是事务可能以不同的数字顺序完成。那些在指定事务之前（也可以包括该事务）提交的事务将被恢复。精确的停止点也受到\u003ca href=\"/docs/18/runtime-config-wal.html#GUC-RECOVERY-TARGET-INCLUSIVE\"\u003erecovery_target_inclusive\u003c/a\u003e的影响。\u003c/p\u003e","doc_same_as":""}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
