check_function_bodies
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | user | boolean |
| 15 | — | user | boolean |
| 16 | — | user | boolean |
| 17 | — | user | boolean |
| 18 | — | user | boolean |
| 19 | — | user | boolean |
CREATE FUNCTION과 CREATE PROCEDURE를 실행할 때 함수 본문 문자열을 검증할지 여부를 정한다. 기본값은 on이다.
off로 두면 본문 검증을 건너뛴다. 검증 과정에서 생기는 부작용을 피할 수 있는데, 특히 아직 만들어지지 않은 객체를 참조하는 forward reference 때문에 발생하는 거짓 오류를 막을 수 있다. 다른 사용자를 대신해 함수를 대량으로 적재할 때는 off로 두는 것이 관례이며, pg_dump가 만든 dump 스크립트는 이를 자동으로 설정한다.
운영 노트: 이 설정을 off로 하고 만든 함수는 첫 실행 시점에야 문법 오류가 드러난다. 복원(restore) 맥락이 아니라면 on을 유지해 함수 생성 시점에 오류를 잡는 편이 안전하다.
출처: PostgreSQL 18 문서