{"Entry":{"collection":"guc","key":"recovery_target_time","name":"recovery_target_time","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"}],"content_hash":"6d17c8edc1e1c293bb15636d9337c892529ff9928f4f5b461c5d1a2328f87f6f","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_time 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 time stamp up to which recovery will proceed. The value is fixed when the server starts, so changing it requires a restart.","Recovery compares transaction commit records with this timestamp; numeric UTC offsets or full time-zone names avoid abbreviation ambiguity. recovery_target_inclusive selects whether commits exactly at the boundary are replayed.","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":["Using an ambiguous time-zone abbreviation instead of a numeric offset or full zone name.","Assuming one wall-clock timestamp uniquely identifies a business transaction.","Setting another recovery target selector at the same time.","Choosing inclusive on/off without identifying the exact boundary commit.","Requesting a time outside the reachable WAL range or on the wrong timeline."],"references":[{"title":"PostgreSQL 19 Beta 4: recovery_target_time","url":"https://www.postgresql.org/docs/19/runtime-config-wal.html#GUC-RECOVERY-TARGET-TIME"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["recovery_target","recovery_target_xid","recovery_target_lsn","recovery_target_name","recovery_target_inclusive","recovery_target_action"],"summary":"recovery_target_time sets the time stamp 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.885804+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_time","last_version":"20","max_val":"","min_val":"","name":"recovery_target_time","position":330,"present_in":["12","13","14","15","16","17","18","19","20"],"short_desc":"This parameter specifies the time stamp up to which recovery will proceed.","short_desc_zh":"","source_rev":"english-manuals:533e1b7861464c013c3f926086cf091172bd4e9acffb1e13400fc7352768249c","unit":"","vartype":"string"}},"Definition":{"Collection":"guc","Key":"recovery_target_time","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"recovery_target_time","SourceRevision":"english-manuals:533e1b7861464c013c3f926086cf091172bd4e9acffb1e13400fc7352768249c","Facts":{"boot_val":"","category":"Write-Ahead Log / Recovery Target","context":"postmaster","description":"This parameter specifies the time stamp up to which recovery will proceed. The precise stopping point is also influenced by recovery_target_inclusive. The value of this parameter is a time stamp in the same format accepted by the timestamp with time zone data type, except that you cannot use a time zone abbreviation (unless the timezone_abbreviations variable has been set earlier in the configuration file). Preferred style is to use a numeric offset from UTC, or you can write a full time zone name, e.g., Europe/Helsinki not EEST.","doc":{"anchor":"GUC-RECOVERY-TARGET-TIME","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_time","short_desc":"Sets the time stamp up to which recovery will proceed.","source":"pg-settings-source-snapshot","unit":null,"vartype":"string"},"ManualEvidence":{"doc":{"anchor":"GUC-RECOVERY-TARGET-TIME","file":"runtime-config-wal.html","lang":"en","sha256":"d2646404a06e8f7ac655204b4f28c049ae8f3fd4f2272db080fcefa2c4af0763","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"recovery_target_time","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"recovery_target_time","Summary":"","BodyHTML":"\u003cp\u003e此参数指定恢复要进行到的时间戳。精确的停止点还受到\u003ca href=\"/docs/18/runtime-config-wal.html#GUC-RECOVERY-TARGET-INCLUSIVE\" rel=\"nofollow\"\u003erecovery_target_inclusive\u003c/a\u003e的影响。\u003c/p\u003e\u003cp\u003e此参数的值是一个时间戳，格式与\u003ccode\u003etimestamp with time zone\u003c/code\u003e数据类型所接受的格式相同，只不过你不能使用时区缩写（除非\u003ca href=\"/docs/18/runtime-config-client.html#GUC-TIMEZONE-ABBREVIATIONS\" rel=\"nofollow\"\u003etimezone_abbreviations\u003c/a\u003e变量在配置文件中已提前设置）。首选样式是使用 UTC 的数字偏移量，或者你可以写一个完整时区名称，例如 \u003ccode\u003eEurope/Helsinki\u003c/code\u003e 而不是 \u003ccode\u003eEEST\u003c/code\u003e。\u003c/p\u003e","SourceRevision":"2026-09-11@29c86d9","ContentHash":"c057f06c9321d6d9caaeb909e02a8093fd045a3e33ef9c28d9809e8b25331265","Payload":{"carried_from":"","carry_reason":"","doc_html":"\u003cp\u003e此参数指定恢复要进行到的时间戳。精确的停止点还受到\u003ca href=\"/docs/18/runtime-config-wal.html#GUC-RECOVERY-TARGET-INCLUSIVE\"\u003erecovery_target_inclusive\u003c/a\u003e的影响。\u003c/p\u003e\u003cp\u003e此参数的值是一个时间戳，格式与\u003ccode class=\"type\"\u003etimestamp with time zone\u003c/code\u003e数据类型所接受的格式相同，只不过你不能使用时区缩写（除非\u003ca href=\"/docs/18/runtime-config-client.html#GUC-TIMEZONE-ABBREVIATIONS\"\u003etimezone_abbreviations\u003c/a\u003e变量在配置文件中已提前设置）。首选样式是使用 UTC 的数字偏移量，或者你可以写一个完整时区名称，例如 \u003ccode class=\"literal\"\u003eEurope/Helsinki\u003c/code\u003e 而不是 \u003ccode class=\"literal\"\u003eEEST\u003c/code\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}
