Part IX. PostgreSQL 관리
CloudNativePG에서는 PostgreSQL의 설정, role, database, 그리고 접속 통로인 Service까지를 모두 선언(CRD)으로 다룹니다. postgresql.conf나 pg_hba.conf를 서버에 직접 열어 고치거나, psql에 붙어 CREATE ROLE·CREATE DATABASE를 손으로 실행하는 대신, 원하는 상태를 매니페스트에 적어 두면 Operator가 그 상태로 맞춥니다. 이렇게 하면 클러스터의 구성이 코드로 남아 Git으로 버전 관리되고, 여러 클러스터에 같은 설정을 재현하기 쉬워지며, 손으로 고쳐 생긴 클러스터 간 차이(drift)가 사라집니다.
이 Part에서는 설정 파라미터와 인증 규칙을 정의하는 방법, role과 database를 선언적으로 관리하는 CRD, 기본 Service를 끄거나 커스터마이즈하는 방법, 그리고 extension을 이미지에서 database까지 공급하고 통제하는 방법을 차례로 정리합니다.
- 9.1 PostgreSQL 설정 — Cluster.spec.postgresql의 parameters, pg_hba, pg_ident와 동적 재적용
- 9.2 Role 관리(선언적) — managed.roles와 DatabaseRole로 role의 생성·수정·삭제를 선언
- 9.3 Database 관리(선언적) — Database CRD로 database·schema·extension 관리
- 9.4 Service 관리 — 기본 Service 비활성화와 커스텀 Service 추가
- 9.5 extension 공급과 통제 — operand 이미지와 image volume, shared_preload_libraries, 설치 권한 통제