Postgresql 29

sql plan 변경 모니터링

목적: 기존의 sql의 실행계획이 변경되었는지 모니터링하여 장애 예방한다.방안: extension 중 pg_store_plans를 활용 주기적으로 변경된 plan이 있는지 확인한다.plan 변경 감지 쿼리WITH plan_changes AS ( SELECT p.queryid, s.query, p.plan AS new_plan, LAG(p.plan) OVER (PARTITION BY p.queryid ORDER BY p.calls) AS old_plan FROM pg_store_plans p JOIN pg_stat_statements s ON p.queryid = s.queryid)SELECT queryid, ..

Postgresql/admin 2025.03.13

유용한 extension 정리

정리 📌pg_stat_statements SQL 쿼리 성능 분석 (실행 횟수, 평균 실행 시간 등)pg_store_plans SQL 실행 계획 저장 및 분석pg_stat_kcache 쿼리별 CPU, 메모리, 디스크 I/O 사용량 확인pg_buffercache 캐시에서 어떤 테이블이 자주 사용되는지 확인pg_prewarm PostgreSQL 재시작 후 중요한 데이터를 미리 로드pg_cron 자동화된 데이터 정리 및 백업 스케줄링pg_bloat_check 테이블과 인덱스의 블로트(불필요한 공간) 확인pg_repack 다운타임 없이 테이블 최적화auto_explain 실행 시간이 긴 쿼리의 실행 계획 자동 로깅pg_stat_io PostgreSQL 16+에서 디스크 I/O 분석운영 환경에서 PostgreSQ..

Postgresql/설치 2025.03.13

WAL-G를 사용한 PostgreSQL 15 백업 및 복구 테스트 시나리오2

아래 타임라인으로 PITR 시나리오 시간 축 (2025-03-10 기준)--------------------------------------------------------->T0 T1 T2 T3 T4 T5 T6[상태]T0: 초기 데이터 (Alice, Bob) └─── 백업 1 (base_000000010000000000000001)T1: 트랜잭션 1 (Charlie 추가, Alice 삭제 → Bob, Charlie)T2: 첫 번째 복구 (T0 시점으로 복구 → Alice, Bob)T3: 트랜잭션 2 (David 추가, Bob → Bobby → Alice, Bobby, David) └─── 백업 2 (base_00000001000..

postgresql 백업 툴 종류

1. pgBackRest설명: PostgreSQL 전용 오픈소스 백업 및 복구 도구로, 병렬 백업, 압축, 암호화, 증분 백업을 지원합니다.주요 특징:풀(Full), 증분(Incremental), 차등(Differential) 백업 지원.WAL 아카이빙 및 Point-in-Time Recovery (PITR) 가능.로컬 파일 시스템, S3, SFTP 등 다양한 스토리지 백엔드 지원.병렬 처리를 통해 대규모 데이터베이스 백업 속도 향상.장점:설정이 직관적이고 문서화가 잘 되어 있음.WAL-G보다 더 다양한 백업 전략(증분/차등) 제공.성능 최적화에 강력.단점:WAL-G보다 설정이 약간 더 복잡할 수 있음2. Barman (Backup and Recovery Manager)설명: 2ndQuadrant에서 개..

WAL-G를 사용한 PostgreSQL 15 백업 및 복구 테스트 시나리오

WAL-G를 사용한 PostgreSQL 15 백업 및 복구 테스트 시나리오-WAL-G는 증분 백업을 지원해 저장 공간을 절약하고 빠른 백업을 제공-병렬 복구 (Parallel Restore)-PITR사전 준비OS: Ubuntu 22.04PostgreSQL 버전: 15WAL-G: 최신 버전 (예: v3.0.0 이상 권장)로컬 디렉토리: 백업 및 WAL 파일 저장용 (예: /backups)WAL-G 설치아래 url에 맞는 OS 버전 및 DB 버전에 다운로드https://github.com/wal-g/wal-g/releasesroot@lkmpg:/usr/local/bin# wget https://github.com/wal-g/wal-g/releases/latest/download/wal-g-pg-ubuntu-..

postgresql 15 삭제 후 재설치

삭제환경 : 우분투  PostgreSQL 15 서비스 중지: PostgreSQL 15 서비스가 실행 중일 경우, 먼저 서비스를 중지해야 합니다.sudo systemctl stop postgresql PostgreSQL 15 패키지 제거: PostgreSQL 15 관련 패키지를 제거합니다. 이 명령은 PostgreSQL 관련 모든 패키지를 삭제합니다.sudo apt-get --purge remove postgresql-15 postgresql-client-15 postgresql-common PostgreSQL 데이터 및 설정 파일 삭제: PostgreSQL 데이터 디렉토리 및 설정 파일을 완전히 삭제하려면, 아래 명령어를 실행합니다sudo rm -rf /var/lib/postgresql/15 sudo r..

Postgresql/설치 2025.03.10

wal-g 에 대해

WAL-G: PostgreSQL 백업을 위한 오픈소스 도구WAL-G는 PostgreSQL 데이터베이스의 백업과 복구를 효율적으로 처리하기 위한 오픈소스 도구입니다. 기존 WAL-E의 후속 버전으로 개발되었으며, 더욱 강력한 기능과 성능 최적화를 제공합니다. 이번 포스팅에서는 WAL-G의 주요 특징과 장점을 간략히 정리해보겠습니다.주요 기능물리적 백업과 원격 스토리지 연동WAL-G는 데이터베이스의 전체 백업과 증분 백업을 지원하며, 백업 데이터를 로컬 파일시스템에 저장하지 않고 바로 Amazon S3, Google Cloud Storage(GCS) 같은 원격 스토리지로 전송합니다. 이를 통해 디스크 공간을 절약하고 클라우드 환경에서의 활용성을 높였습니다.압축과 암호화LZ4, ZSTD와 같은 고성능 압축 알..

기본 모니터링 쿼리

카탈로그 정보pg_catalog : tables, views, functions, indexes, fdw, trigger, constraints, rules, users, groups 등등 정보 저장 pg_attribute : 테이블 및 다른 pg_class object columns에 대한 정보 저장 pg_index : 인덱스에 대한 정보 저장 pg_depend : object dependent에 대한 정보 pg_rewrite : 테이블 및 view 에 대한 rules 정보  pg_constraint : 테이블에 constraint 정보  pg_stat_statements : db에서 수행된 쿼리에 대한 통계 정보 pg_buffercache : cache에 대한 deeper 한 정보 informatio..

Postgresql/admin 2025.02.13