본문 바로가기
DB 인사이드 | PostgreSQL Vacuum - Monitoring : XMIN’s Horizon Vacuum Series를 통한 Vacuum 동작원리에 이어 이번에는 Monitoring 시 주의해야 할 사항에 대해 이야기해 보도록 하겠습니다. PostgreSQL에 익숙하지 않은 사용자의 경우 Vacuum의 중요성만 인지할 뿐, 단순히 Autovacuum을 Enable 시키거나 Job(Cron)을 통한 Manual Vacuum을 수행하는 것으로 필요한 처방을 다 했다고 생각하곤 합니다. 하지만, MVCC 모델에서 파생된 복잡/다양한 메커니즘은 비단 [Auto]vacuum Operation뿐만 아니라 일반적인 Database 운영 과정까지 지대한 영향을 끼칩니다. 본 문서에서는 그중 idle in transaction상태의 Session이 Vacuum Operation과 맞물렸을 때 발생하는 상황에 대.. 2023. 1. 19.
DB 인사이드 | PostgreSQL Setup - Migration & Upgrade 성능 및 주의사항 ※ 목차 ※ 업그레이드 주의사항 Role & Tablespace Extension 업그레이드 성능 Backup 성능 Restore 성능 pg_upgrade 성능 필요 Disk 여유공간 정리 Data 검증 Object 개수 확인 Procedure 개수 확인 Trigger 개수 확인 Sequence Last Value 확인 PostgreSQL의 신규 기능들을 사용하기 위해서, 혹은 EOL 등의 이유로 PostgreSQL Major 업그레이드를 고려할 수 있습니다. PostgreSQL Major 업그레이드하는 방법은 여러 가지가 존재하며 어떠한 업그레이드 방법을 사용할지, Database 다운타임을 최소한으로 줄일 수 있는 방법은 무엇인지 등에 대한 충분한 검증이 필요할 것입니다. 본 문서에서는 앞서 소개한 .. 2022. 11. 23.
DB 인사이드 | PostgreSQL Setup - Minor Upgrade ※ 목차 ※ Upgrade PostgreSQL Minor Version on Linux Upgrade PostgreSQL Minor Version on Windows Upgrade PostgreSQL Minor Version on Linux 목차 PostgreSQL의 Minor버전 릴리즈는 Major버전의 아키텍처를 변경(변형) 하지 않는 선에서 자주 발생하는 버그, 보안 및 데이터 손상 문제에 대해서만 수정된 내용을 제공합니다. Major버전 내부 아키텍처 변경이 없기 때문에 Minor버전 간의 호환성을 유지할 수 있습니다. Linux에서 Minor Version Upgrade는 세가지 방법이 존재합니다. 첫 번째로, yum, apt를 통한 Minor Upgrade가 있습니다. 인터넷이 연결되어 있고,.. 2022. 9. 28.
DB 인사이드 | PostgreSQL Setup - Installation 본 문서에서는 Linux와 Windows에서 PostgreSQL 여러 설치 방법에 대해 설명하도록 하겠습니다. ※ 목차 ※ Install Overview Install PostgreSQL on Linux (CentOS - yum) Install PostgreSQL on Linux (CentOS - rpm) Install PostgreSQL on Linux (Ubuntu - apt) Install PostgreSQL on Linux (Ubuntu - dpkg) Install PostgreSQL on Linux (Source File) Install PostgreSQL on Windows (설치관리자) Install PostgreSQL on Windows (Binary File) 부록 1. 외부 접속을 위한.. 2022. 8. 25.
DB 인사이드 | PostgreSQL Setup - Version & Utility ※ 목차 ※ PostgreSQL 버전 정책 1. PostgreSQL 릴리즈 정책 2. PostgreSQL 릴리즈 현황 3. PostgreSQL 버전 표기 PostgreSQL 업그레이드 1. PostgreSQL Minor 업그레이드 2. PostgreSQL Major 업그레이드 PostgreSQL 응용프로그램 1. pg_dump 2. pg_dumpall 3. pg_restore 4. pg_upgrade 5. initdb 6. pg_upgradecluster 7. pg_dropcluster 8. pg_lsclusters 9. pg_ctlcluster PostgreSQL 버전 정책 1. PostgreSQL 릴리즈 정책 목차 PostgreSQL은 매년 한 번씩 Major버전을 릴리즈합니다. Major버전 릴리즈.. 2022. 8. 25.
클라우드 DB 성능관리를 위한 MaxGauge for CloudDB Cloud Transformation, 오픈소스 DBMS의 성장 클라우드와 포스트 COVID-19 팬데믹의 영향으로 전세계가 몸살 중이다. 그것들이 가져온 변화는 우리의 일과 삶을 완전히 바꾸었다. 우리의 업무 환경을 변화시켰을 뿐만 아니라 소비, 생활 패턴 등 생활 깊숙이 끼친 충격과 임팩트는 실로 엄청났다. 무엇보다 우리가 주목하는 것은 전 산업 부문에서 번지고 있는 IT 패러다임의 변화이다. 많은 기업들의 근로자들의 업무가 시간과 공간의 제약을 받지 않게 되었으며, 기업들은 비용 경제적인 이유로 유연한 IT 시스템의 확장과 축소가 가능한 클라우드를 본격적으로 필요하게 됐다. 지난 몇 년간 IT업계와 전산업에 걸쳐 뜨거운 감자였던 Cloud Transformation은 이러한 변화에 의해 급물살을 타.. 2022. 6. 28.
DB 인사이드 | PostgreSQL Vacuum - 6. Autovacuum 📢 Manual Vacuum에 이어, 본 문서 역시 ①Autovacuum이 무엇인지 알아보고, ②Autovacuum의 동작 조건 및 ③Autovacuum 프로세스에 의해 수행되는 Anti-Wraparound Vacuum에 대해 알아보도록 하겠습니다. 마지막으로 ④Autovacuum 전체 프로세스에 대해 확인해보도록 하겠습니다. Autovacuum Autovacuum이란 Vacuum수행을 자동화해주는 기능을 이야기합니다. Autovacuum기능은 Autovacuum Daemon이라고 불리는 여러 개의 프로세스들에 의해 수행되며, 이 중 Autovacuum Launcher 프로세스는 Worker 프로세스를 관리하고 지시하는 역할을 수행합니다. Autovacuum이 동작하기 위해서는 AUTOVACUUM, TR.. 2022. 4. 29.
DB 인사이드 | PostgreSQL Vacuum - 5. Manual Vacuum 📢 본 문서에서는 ①Vacuum의 목적과 ②Vacuum 동작 Mode에 대해 먼저 알아보도록 하겠습니다. 이후 조금은 특별하게 동작하는 ③Vacuum Freeze의 동작원리를 설명한 후 마지막으로 ④전체적인 Vacuum 수행 프로세스에 대해 알아보도록 하겠습니다. 더불어 지난 문서들을 통해 소개되었던 개념들이 모두 혼용되어 사용되는 만큼, 충분한 이해를 바탕으로 읽기를 추천합니다. Manual Vacuum Vacuum 이란? 진공청소기라는 뜻을 지닌 Vacuum은 PostgreSQL에만 존재하는 특수한 개념입니다. 앞선 문서에서 강조했다시피 MVCC 동작원리에 따른 공간 비효율과 XID Wraparound발생 등 PostgreSQL의 특성에 기인한 부작용을 회피하기 위해 등장했습니다. Vacuum은 명령.. 2022. 4. 29.
DB 인사이드 | PostgreSQL Vacuum - 4. Visibility Map 📢 본 문서에서는 Visibility Map (이하 VM)이라는 메타 파일에 대한 내용을 다룹니다. 우선 Vacuum의 기준정보로 활용하는 ①VM File이란 무엇인지 알아보고, ②사용자 조작에 따라 어떻게 변경되며, 어떻게 관찰할 수 있는지 알아보도록 하겠습니다. Visibility Map VM File이란? VM이란 Heap Relation(*테이블)을 구성하는 개별 페이지의 상태를 2개의 Bit값으로 표현하는 메타정보 파일이며 페이지가 포함하는 Tuple(Row)들의 상태 정보를 축약해서 담고 있습니다. VM 파일은 Relation OID에 해당하는 숫자에 접미어 "_vm"을 붙인 형태로 관리되며 사용자가 VACUUM 또는 VACUUM FREEZE와 같은 명시적인 Vacuum작업을 수행하거나 Aut.. 2022. 4. 29.