recovery_target_action
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | pause | user | enum |
| 15 | pause | user | enum |
| 16 | pause | user | enum |
| 17 | pause | user | enum |
| 18 | pause | user | enum |
| 19 | pause | user | enum |
recovery target에 도달했을 때 서버가 취할 동작을 지정한다. recovery target이 설정된 PITR(point-in-time recovery) 상황에서만 의미가 있다.
기본값 pause는 target 지점에서 recovery를 일시 정지한다. 이 상태에서 데이터베이스에 쿼리를 실행해 그 지점이 정말 원하던 복구 지점인지 확인할 수 있고, pg_wal_replay_resume()을 실행하면 recovery가 종료된다. 원하는 지점이 아니라면 서버를 내리고 recovery target을 더 뒤로 잡아 다시 시작하면 recovery를 이어갈 수 있다. promote는 recovery를 끝내고 곧바로 연결을 받기 시작하며, shutdown은 target 도달 후 서버를 정지시킨다.
shutdown은 원하는 replay 지점에 정확히 맞춰 인스턴스를 준비된 상태로 세워 두고 싶을 때 유용하다. 다만 이 경우 recovery.signal 파일이 제거되지 않으므로, 설정을 바꾸거나 파일을 수동으로 지우지 않는 한 이후 기동도 곧바로 종료된다. hot_standby가 꺼져 있으면 pause는 shutdown처럼 동작한다. target을 설정했는데 archive recovery가 target에 도달하기 전에 끝나면 서버는 fatal 오류로 종료된다.
출처: PostgreSQL 18 문서