session_preload_libraries
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | superuser | string |
| 15 | — | superuser | string |
| 16 | — | superuser | string |
| 17 | — | superuser | string |
| 18 | — | superuser | string |
| 19 | — | superuser | string |
접속 시작 시점에 미리 로드할 shared library를 지정한다. superuser와 적절한 SET 권한을 가진 사용자만 바꿀 수 있다.
값은 쉼표로 구분한 라이브러리 이름 목록이며, 각 이름은 LOAD 명령과 같은 방식으로 해석된다. 접속 시작 시점에만 적용되므로 이후 변경은 이미 열린 세션에 영향을 주지 않고, 지정한 라이브러리를 찾지 못하면 접속이 실패한다.
LOAD 명령을 직접 실행하지 않고도 디버깅·성능 측정 라이브러리를 특정 세션에 로드하는 용도다. 예를 들어 ALTER ROLE ... SET으로 이 파라미터를 설정하면 특정 사용자의 모든 세션에서 auto_explain을 켤 수 있다. shared_preload_libraries와 달리 서버 재시작 없이 바꿀 수 있어(새 세션부터 적용) 모듈을 추가하기 수월하다. 세션 시작 시 preload한다고 해서 첫 사용 시 로드하는 것보다 성능이 크게 나아지지는 않지만, connection pooling을 쓰는 환경에서는 어느 정도 이점이 있다.
출처: PostgreSQL 18 문서