본문 바로가기
DB 인사이드 | PostgreSQL Replication - 설정 확인 ※ 목차 ※ 1. File-based Log Shipping Replication 설정확인 2. Streaming Replication 설정확인 3. Logical Replication 설정확인 1. File-based Log Shipping Replication File-based Log Shipping Replication 설정 확인 PostgreSQL 프로세스조회를 통해서 file-based Log Shipping 설정이 되었는지 확인할 수 있습니다. Main Server에서는 archiver 프로세스가 작동하며, Standby Server에서는 Main Server에서 전송하는 WAL 파일을 대기하는 프로세스가 작동합니다. Main Server 프로세스 [postgres@main ~] ps -ef.. 2023. 6. 29.
DB 인사이드 | PostgreSQL Replication - Catalog 이번 문서에서는 PostgreSQL Replication과 관련된 Catalog에 대해 알아보겠습니다. Catalog Name Description pg_stat_replication Replication에 대한 통계 확인 pg_stat_wal_receiver WAL Receiver에 대한 통계 확인 pg_replication_slots Replication Slot에 대한 정보 확인 pg_stat_replication_slots [Since. v14] Replication Slot에 대한 통계 확인 pg_publication Logical Replication의 Publication에 대한 정보 확인 pg_publication_rel Relation과 Publication간의 매핑정보 확인 pg_pub.. 2023. 6. 29.
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 HOT - 1. Page와 관리 시작하며 PostgreSQL HOT Series에서는 HOT(Heap Only Tuple) Update의 동작과정을 이해하며, 궁극적으로 성능 최적화 및 모니터링 방안을 확립하기 위한 내용을 다룰 예정입니다. 이를 위해, 우선 본 문서에서는 다음과 같은 Page 및 관련 개념들에 대한 설명을 진행하겠습니다. 해당 개념들은 모두 유기적으로 연결되어 있으며, Series전반에 걸쳐 자주 언급되므로 정확한 이해를 필요로 합니다. Page Layout HOT Single-page Vacuuming Fillfactor 1. Page Layout 📢 페이지란 디스크 상의 표현으로 블록이라 부르며 0부터 순차적으로 번호가 지정되는데 이 번호를 블록 번호라고 합니다. PostgreSQL의 모든 테이블과 인덱스는 고정 .. 2023. 2. 22.
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.