본문 바로가기
DB 인사이드 | PostgreSQL New Feature - 16 Release (3) 이번 문서에서는 PostgreSQL 16 Release New Feature 중 Replication에 대한 내용을 다룹니다. Logical Replication From Standby ServerPostgreSQL 15 버전까지는 Primary Server에서만 Logical Replication의 게시(Publication)을 구성할 수 있었습니다. Replication이 다중으로 구성되어 있다면 그 만큼 Primary Server의 부하도 증가합니다.PostgreSQL 16 버전부터는 Standby Server에서 게시(Publication)을 구성할 수 있습니다. 이 기능을 통해 Primary Server의 Replication 부하를 감소 시킬 수 있습니다.📢 Primary → Physical.. 2023. 12. 27.
DB 인사이드 | PostgreSQL New Feature - 16 Release (2) 이번 문서에서는 앞서 나열된 PostgreSQL 16 Release의 주요 변경내용 중 일부를 테스트한 내용을 기술합니다.  [성능 개선] FULL OUTER JOIN 및 RIGHT OUTER JOIN의 병렬 처리PostgreSQL 16 버전부터 FULL OUTER JOIN 및 RIGHT OUTER JOIN의 병렬 처리를 지원함에 따라 Query Planner가 기존 버전 보다 더 효율적인 실행계획을 수립할 수 있습니다.📢 병렬 처리는 enable_parallel_hash 파라미터로 제어할 수 있습니다. -- PostgreSQL 15 버전EXPLAIN (COSTS OFF)SELECT COUNT(*) FROM repltab a FULL OUTER JOIN repltab b USING (c1); .. 2023. 11. 30.
DB 인사이드 | PostgreSQL New Feature - 16 Release (1) 2023년 9월 14일 PostgreSQL Global Development Group은 최신 버전의 PostgreSQL 16을 출시하였습니다. PostgreSQL 16의 주요 기능은 아래와 같습니다.📢 PostgreSQL 릴리즈 현황은 DB 인사이드 | PostgreSQL Setup - Version & Utility에서 확인할 수 있습니다.  성능개선새로운 Query Planner 최적화로 PostgreSQL 기능의 성능 향상FULL OUTER JOIN 및 RIGHT OUTER JOIN의 병렬 처리 가능집계 함수(ex. string_agg, array_agg) 사용 시 DISTINCT 또는 ORDER BY와 함께 사용할 경우, 쿼리에 대한 더 최적화된 실행 계획 생성enable_presorted_a.. 2023. 11. 30.
DB 인사이드 | PostgreSQL Replication - Slot Replication Slot 탄생PostgreSQL에서 안정적인 Replication 유지를 위한 WAL 파일의 관리는 항상 어려운 문제였습니다. Standby Server의 연결이 끊어진 상태에서 Main Server의 WAL 파일이 재사용(Overwrite) 되면 Replication 상태를 유지할 수 없으므로 다음과 같은 에러를 마주하게 됩니다.LOG: started streaming WAL from primary at 0/3000000 on timeline 1FATAL: could not receive data from WAL stream: ERROR: requested WAL segment 000000010000000000000003 has already been removed그리고 이러.. 2023. 7. 26.
DB 인사이드 | PostgreSQL Replication - 설정 확인 ※ 목차 ※1. File-based Log Shipping Replication 설정확인2. Streaming Replication 설정확인3. Logical Replication 설정확인 1. File-based Log Shipping ReplicationFile-based Log Shipping Replication 설정 확인PostgreSQL 프로세스조회를 통해서 file-based Log Shipping 설정이 되었는지 확인할 수 있습니다. Main Server에서는 archiver 프로세스가 작동하며, Standby Server에서는 Main Server에서 전송하는 WAL 파일을 대기하는 프로세스가 작동합니다.Main Server 프로세스[postgres@main ~] ps -ef | grep.. 2023. 6. 29.
DB 인사이드 | PostgreSQL Replication - Catalog 이번 문서에서는 PostgreSQL Replication과 관련된 Catalog에 대해 알아보겠습니다. Catalog NameDescriptionpg_stat_replicationReplication에 대한 통계 확인pg_stat_wal_receiverWAL Receiver에 대한 통계 확인pg_replication_slotsReplication Slot에 대한 정보 확인pg_stat_replication_slots[Since. v14] Replication Slot에 대한 통계 확인pg_publicationLogical Replication의 Publication에 대한 정보 확인pg_publication_relRelation과 Publication간의 매핑정보 확인pg_publication_table.. 2023. 6. 29.
DB 인사이드 | PostgreSQL Replication - Function 이번 문서에서는 PostgreSQL Replication과 관련된 Function에 대해 알아보겠습니다. Function ListWAL 관련 Functionpg_current_wal_lsnpg_current_wal_flush_lsnpg_current_wal_insert_lsnpg_walfile_namepg_walfile_name_offsetpg_switch_walpg_wal_lsn_diff  Standby Server 관련 Functionpg_is_in_recoverypg_last_wal_receive_lsnpg_last_wal_replay_lsnpg_last_xact_replay_timestamppg_get_wal_replay_pause_statepg_is_wal_replay_pausedpg_wal_r.. 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. Onl.. 2023. 5. 25.
DB 인사이드 | PostgreSQL Replication - 구성 시작하며본 문서에서는 앞서 설명한 다양한 Replication 방식의 설정에 대해 알아보도록 하겠습니다.이 중 가장 많이 언급되는 Log Shipping, Streaming, Logical Replication방식으로 환경 구성을 진행하며, 그 과정에서 직접적인 연관이 없거나 발생 가능한 이슈에 대해서는 별도 문서인 PostgreSQL Replication - Trouble Shooting을 통해 다루도록 하겠습니다.구성을 위한 환경은 다음과 같으며, Replication Slot 관련 설정은 포함되지 않습니다.CaseReplication 방법Main Server (10.10.45.230)Standby Server (10.10.45.231)1Log ShippingCentOS 7.9 / PostgreSQL.. 2023. 5. 25.