enable_async_append
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | on | user | boolean |
| 15 | on | user | boolean |
| 16 | on | user | boolean |
| 17 | on | user | boolean |
| 18 | on | user | boolean |
| 19 | on | user | boolean |
planner가 async-aware Append plan을 사용할지 정한다. 기본값은 on이다.
일반 Append는 자식 노드를 한 번에 하나씩 실행하지만, async append는 비동기 실행을 지원하는 자식(현재는 postgres_fdw의 외부 테이블)에 요청을 미리 보내 두고 결과가 도착하는 대로 모은다. 여러 원격 서버로 나뉜 partitioned table을 조회할 때 각 서버의 응답 대기 시간이 겹쳐져 전체 응답이 빨라진다. 비동기를 지원하는 자식이 없으면 plan에 아무 영향이 없다.
운영 노트: 다른 enable_* 계열과 마찬가지로 끄는 것은 튜닝이 아니라 진단 수단이다. async append가 낀 plan의 동작이 의심될 때 세션에서 off로 두고 EXPLAIN 결과를 비교하는 용도로 쓴다.
출처: PostgreSQL 18 문서