PostgreSQL 레시피
- WAL 세그먼트 전환WAL 및 체크포인트
- 수동 CHECKPOINT 실행WAL 및 체크포인트
- WAL 크기 및 현재 LSN 조회WAL 및 체크포인트
- 아카이브 지연 조회(아직 아카이브되지 않은 WAL)WAL 및 체크포인트
- 새 테이블스페이스 추가스토리지
- 테이블을 다른 테이블스페이스로 이동스토리지
- 인덱스를 다른 테이블스페이스로 이동스토리지
- 데이터베이스 및 테이블 크기 조회스토리지
- 테이블 bloat 추정스토리지
- 특정 테이블 VACUUM ANALYZE유지보수
- 적극적인 VACUUM FREEZE 실행유지보수
- 락 없이 인덱스 재구축(REINDEX CONCURRENTLY)유지보수
- 특정 테이블의 autovacuum 튜닝유지보수
- 컬럼의 statistics target 높이기유지보수
- 파라미터 변경 및 reload(ALTER SYSTEM)파라미터
- 세션 단위 파라미터 변경(SET)파라미터
- 현재 파라미터 값 조회파라미터
- 물리 복제본 구축(pg_basebackup)복제
- 복제본을 primary로 승격복제
- 복제 지연 조회복제
- replication slot 생성 및 삭제복제
- logical replication publication 및 subscription 구성복제
- backend 종료(pg_terminate_backend)세션
- 실행 중인 쿼리 취소(pg_cancel_backend)세션
- 활성 쿼리 및 블로킹 쿼리 조회세션
- 확장 추가익스텐션
- 설치된 확장 목록익스텐션
- Patroni 클러스터 상태, 토폴로지, 이력 조회Patroni
- Patroni로 계획된 스위치오버 수행Patroni
- Patroni로 수동 페일오버 수행Patroni
- Patroni로 손상된 replica 재구축(reinit)Patroni
- Patroni에서 클러스터 전체 파라미터 변경(edit-config) 및 대기 중인 재시작 적용Patroni
- Patroni 유지보수 모드 전환 및 해제(pause/resume)Patroni
- Patroni DCS(etcd/Consul) 및 REST API 상태 확인Patroni
- pgBackRest용 WAL 아카이브 구성(archive-push/archive-get)백업 및 PITR
- pgBackRest stanza 생성 및 아카이브 검증(stanza-create/check)백업 및 PITR
- pgBackRest로 full, differential, incremental 백업 수행백업 및 PITR
- pgBackRest 백업 카탈로그와 WAL 아카이브 범위 조회(info)백업 및 PITR
- pgBackRest로 최신 백업 복원백업 및 PITR
- pgBackRest로 특정 시점 복원(PITR, --type=time)백업 및 PITR
- pgBackRest delta restore로 standby 빠르게 재구축백업 및 PITR
- pgBackRest 보존 정책 구성 및 expire 실행백업 및 PITR
- standby 수동 구성(standby.signal + primary_conninfo)복제
- standby의 WAL 수신 및 replay 지연 모니터링(pg_stat_wal_receiver)복제
- 페일오버 후 pg_rewind로 이전 primary를 replica로 재합류복제
- quorum(ANY) 또는 priority(FIRST) 방식 동기 복제 구성복제
- replication slot이 보존하는 WAL 모니터링 및 방치된 slot 안전하게 삭제복제
- slot이 보존할 수 있는 WAL 제한(max_slot_wal_keep_size)복제
- publication에 테이블 추가 및 subscription 갱신(REFRESH PUBLICATION)논리 복제
- logical replication 모니터링(pg_stat_subscription, apply 오류, slot 지연)논리 복제
- logical replication 충돌 해결(disable_on_error, SKIP)논리 복제
- logical replication에서 시퀀스 값을 subscriber로 동기화논리 복제
- subscription 제거 및 publisher의 고아 logical slot 정리논리 복제
- pg_upgrade --link로 메이저 버전 업그레이드(end-to-end runbook)업그레이드
- logical replication으로 거의 무중단 메이저 버전 업그레이드업그레이드
- PgBouncer pool, 통계, 연결 조회(SHOW POOLS/STATS/CLIENTS/SERVERS)PgBouncer
- PgBouncer로 유지보수 중 연결 보류(PAUSE/RESUME) 및 구성 reload(RELOAD)PgBouncer
- PgBouncer pool_mode 선택 및 기본 크기 산정PgBouncer
- 가장 비용이 큰 쿼리 찾기(pg_stat_statements: 총 시간 및 평균 시간)성능
- 디스크 I/O, 임시 파일, WAL을 유발하는 쿼리 찾기(pg_stat_statements)성능
- pg_stat_statements 통계 reset(전체 또는 단일 쿼리)성능
- auto_explain으로 느린 쿼리의 실행 계획 로깅성능
- EXPLAIN (ANALYZE, BUFFERS, SETTINGS, WAL)으로 실행 계획 심층 분석성능
- queryid로 실행 계획 회귀 포착(pg_stat_statements 스냅샷 비교)성능
- 병렬 쿼리 용량 및 현재 worker 사용량 확인성능
- JIT 컴파일이 쿼리 시간에 미치는 영향 측정성능
- 블로킹 트리 구성(root blocker 찾기)세션
- 객체 및 lock mode별 락 대기 상세 확인(pg_locks)세션
- 장시간 실행 및 'idle in transaction' 트랜잭션 찾기세션
- 장시간 'idle in transaction' 세션을 통제된 방식으로 일괄 종료세션
- 롤 및 데이터베이스별 statement_timeout / lock_timeout 설정세션
- lock_timeout과 재시도로 DDL 안전하게 적용(lock queue 방지)세션
- max_connections 대비 연결 사용량 측정세션
- 실행 중인 autovacuum/VACUUM 작업의 진행 상황 모니터링유지보수
- transaction ID wraparound 위험 측정(데이터베이스 및 테이블별 XID age)유지보수
- VACUUM의 dead tuple 제거를 막는 xmin horizon 보유자 찾기유지보수
- pgstattuple로 테이블 및 인덱스 bloat 측정유지보수
- 긴 락 없이 bloat된 테이블 재구성(pg_repack)유지보수
- INVALID 인덱스 찾기 및 정리유지보수
- 상관관계가 있는 컬럼에 확장 통계 생성(CREATE STATISTICS)유지보수
- 오래된 통계를 가진 테이블 찾기(ANALYZE 전략)유지보수
- visibility map 적용 범위 및 Index Only Scan 효율 확인유지보수
- 월별 range 파티션 테이블 생성(루프로 파티션 생성)파티셔닝
- 준비된 테이블을 짧은 락으로 파티션에 연결(ATTACH PARTITION)파티셔닝
- 운영 트래픽을 블로킹하지 않고 오래된 파티션 분리(DETACH CONCURRENTLY)파티셔닝
- default 파티션 함정: 새 파티션이 'would be violated by some row'로 실패파티셔닝
- partition pruning 동작 확인(계획 시점 및 실행 시점)파티셔닝
- pg_partman으로 파티션 생성 및 보존 자동화파티셔닝
- 최소 권한 롤 계층 구성(GRANT + ALTER DEFAULT PRIVILEGES)보안
- row-level security로 tenant 격리 구성보안
- pg_hba.conf 규칙 순서 검증 및 안전한 reload보안
- SSL/TLS 활성화 및 암호화 연결 확인(pg_stat_ssl)보안
- md5 비밀번호에서 scram-sha-256으로 전환보안
- pgaudit으로 롤 및 객체 수준 감사 로그 유지보안
- 메모리 설정 검토(shared_buffers, work_mem, maintenance_work_mem)파라미터
- 재시작 대기 중인 파라미터 및 구성 파일 오류 조회파라미터
- checkpoint 동작 검토(PG17+ pg_stat_checkpointer, PG16 이하 pg_stat_bgwriter)파라미터
- 테이블 크기를 heap / index / TOAST로 나눠 조회 및 가장 큰 인덱스 목록스토리지
- 업데이트 대기 중인 확장 찾기 및 업데이트익스텐션
- pg_stat_io로 I/O 발생원 분석(backend 유형, 객체, context)익스텐션