본문 바로가기
DB 인사이드 | PostgreSQL Replication - Function 이번 문서에서는 PostgreSQL Replication과 관련된 Function에 대해 알아보겠습니다. Function List WAL 관련 Function pg_current_wal_lsn pg_current_wal_flush_lsn pg_current_wal_insert_lsn pg_walfile_name pg_walfile_name_offset pg_switch_wal pg_wal_lsn_diff Standby Server 관련 Function pg_is_in_recovery pg_last_wal_receive_lsn pg_last_wal_replay_lsn pg_last_xact_replay_timestamp pg_get_wal_replay_pause_state pg_is_wal_replay_p.. 2023. 6. 29.
DB 인사이드 | PostgreSQL Replication - Trouble Shooting 📢 본 문서는 PostgreSQL Replication 설정 시 발생할 수 있는 내용을 다룹니다. PostgreSQL Replication 구성에 대한 내용은 PostgreSQL Replication - 구성을 참조하세요. 1. ssh-keygen 설정 2. listen_addresses 설정하지 않았을 경우 3. pg_hba.conf 설정하지 않았을 경우 4. max_wal_senders를 1 이하로 설정했을 경우 5. hot_standby 설정 6. Replication User 접속 불가 7. PostgreSQL Database Encoding/locale 옵션이 다른 경우 8. recovery.conf 9. postgresql.conf 위치 확인 10. pg_hba.conf 위치 확인 11. On.. 2023. 5. 25.
DB 인사이드 | PostgreSQL Replication - 구성 시작하며 본 문서에서는 앞서 설명한 다양한 Replication 방식의 설정에 대해 알아보도록 하겠습니다. 이 중 가장 많이 언급되는 Log Shipping, Streaming, Logical Replication방식으로 환경 구성을 진행하며, 그 과정에서 직접적인 연관이 없거나 발생 가능한 이슈에 대해서는 별도 문서인 PostgreSQL Replication - Trouble Shooting을 통해 다루도록 하겠습니다. 구성을 위한 환경은 다음과 같으며, Replication Slot 관련 설정은 포함되지 않습니다. Case Replication 방법 Main Server (10.10.45.230) Standby Server (10.10.45.231) 1 Log Shipping CentOS 7.9 / .. 2023. 5. 25.
DB 인사이드 | PostgreSQL Replication - 종류 Replication은 Data 저장과 백업하는 방법과 관련이 있는 Data를 호스트 컴퓨터에서 다른 컴퓨터로 복사하는 것을 말한다. Replication은 RDBMS에서 추가적으로 제공하거나 여러 대의 Database Server의 부하를 맞추어 줄 용도로 제공한다. Database Replication에서 사용되는 것은 대부분 Database 관리 영역인데 보통 Master/Slave 관계를 갖는 원본과 복사본 사이를 다룬다. — 위키백과 (Replication) Database Replication Database를 Replication(복제)하는 이유는 크게 Database의 부하분산(Load Balancing), 고가용성(High Availability), 백업등으로 나눌 수 있습니다. Main.. 2023. 4. 27.
DB 인사이드 | PostgreSQL HOT - 2. Update 동작 과정 시작하며 앞선 문서를 통해 Page Layout, HOT, Fillfactor, Single-page Vacuuming 등 HOT Update를 이해하기 위해 필요한 개념들에 대해 살펴보았습니다. 본 문서에서는 이러한 개념들을 활용하여 Update가 동작하는 다양한 케이스에 대해 확인해 보도록 하겠습니다. PostgreSQL의 Update PostgreSQL에서 Update는 이전 버전(변경 전)의 Tuple을 유지하는 방법을 통해 다중 버전 관리(MVCC)를 구현합니다. 즉 Update가 발생하면 새로운 버전의 Tuple을 생성한 후 이전 버전은 논리적으로 Delete 처리(Tuple을 유효하지 않은 것으로 표시)하는 것으로 대체합니다. 이러한 MVCC 기반의 Update 동작 방식을 수행 대상에 따른.. 2023. 3. 30.
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.