728x90

DB 7

[PostgreSQL] repmgr을 이용한 DB 이중화 구성하기_3, VIP

auto failover까지 정상적으로 수행되는 것을 확인하였으니 이번에는 Rocky Linux에 VIP를 할당한 후 auto failover 시 VIP를 가진 서버가 변경되도록 하기로 하였다. 1. VIP 설정하기 우선 auto failover 시에 VIP를 변경하기 위해서는 기본적으로 VIP가 설정되어 있어야 한다. cd /etc/sysconfig/network-scripts/ vi ifcfg-{이더넷 인터페이스명} 테스트 환경인 vm1과 vm2는 자동으로 네트워크에 연결을 사용하였기 때문에 현재 사용 중인 IP와 gateway를 ifconfig 명령어와 ip route를 사용하여 알아두었다. BOOTPROTO=static IPADDR={IP} NETMASK=255.255.255.0 GATEWAY={..

DB 2022.10.03

[PostgreSQL] repmgr을 이용한 DB 이중화 구성하기_2, auto failover

지난 repmgr을 이용한 이중화 구성 포스팅에서 primary에서 테이블을 생성하고 데이터를 기록하면 standby에서도 해당 테이블을 조회할 수 있는 것을 확인하였다. 하지만 이렇게까지만 설정한다면 pglogical과 별반 다를 것이 없다. 이번에는 repmgr이 제공하는 auto failover 기능에 대해 알아보기로 하였다. 1. repmgr.conf 설정하기 auto failover를 사용하기 위해서는 repmgr.conf를 수정한 뒤 repmgrd를 시작하면 된다. vi /etc/repmgr/14/repmgr.conf failover='automatic' promote_command='repmgr standby promote' follow_command='repmgr standby follow..

DB 2022.10.02

[PostgreSQL] repmgr을 이용한 DB 이중화 구성하기_1

지난번 pglogical을 이용한 DB 이중화에 대해 알아보았었는데, pglogical 자체에는 primary-secondary 구조에서 auto failover나 secondary 서버에서 read only로 설정해 주는 기능이 없었다. 그러던 중 PostgreSQL 자체 replication 기능을 이용하면서 auto failover 처리를 해줄 수 있는 repmgr을 알게 되었다. 이번 포스팅은 Rocky Linux 8 환경에 PostgreSQL 14를 repmgr을 이용하여 이중화를 구성하는 방법에 대해 포스팅하려고 한다. 설치에 앞서 primary-secondary를 repmgr에서는 primary-standby로 표현하고 있기 때문에 primary-standby로 표현하기로 한다. 1. rep..

DB 2022.10.01

[PostgreSQL] pglogical을 이용한 DB 이중화 구성하기_2, 양방향 이중화를 구성해 보자

지난 포스팅에서 pglogical을 이용한 DB 이중화 구성을 테스트했을 때, 마지막에 구독을 하고 있는 노드에서 INSERT, UPDATE, DELETE 등의 DML 명령어를 사용했을 때 read-only 모드가 아니기 때문에 값이 DB에 반영되는 것을 확인할 수 있었다. read-only 모드로 사용하는 방법이던지, 뭔가 다른 방법이 있을 것 같지만 이런 것들을 찾아보기 이전에 양방향 이중화. bi-directional replication 글을 읽었기 때문에 이 방법 먼저 알아보기로 하였다. https://aws.amazon.com/ko/blogs/database/postgresql-bi-directional-replication-using-pglogical/ PostgreSQL bi-directi..

DB 2022.09.21

[PostgreSQL] pglogical을 이용한 DB 이중화 구성하기

PostgreSQL의 공식 문서 27번 항목은 Chapter 27. High Availability, Load Balancing, and Replication. 고가용성, 로드 밸런싱, 복제를 설명하고 있다. 이제 막 이중화에 대해 알아가기 시작하는 단계라 자세히는 모르지만 이중화를 구성함으로써 failover를 기대할 수 있고, 부하를 분산시킬 수도 있다고 한다. 이 중 오늘 알아볼 것은 공식 문서 27.1 항목에서 논리적 복제(Logical Replication)를 이용한 모듈인 pglogical에 대해 알아보려고 한다. pgsql에서 논리적 복제는 Write-Ahead 로깅(WAL)에서 논리적 데이터 수정 스트림을 구성하여 테이블 별로 데이터 변경 사항을 복제할 수 있다고 되어있다. pglogica..

DB 2022.09.20

[PostgreSQL] PostgreSQL 12 설치 후 Job for postgresql-12.service failed because the control process exited with error code. 에러 해결하기

회사에서 DB 백업 관련 테스트가 필요해 centOS 7을 설치 후 rpm을 사용하여 PostgreSQL 12를 설치하였다. 하지만 psql 명령어를 실행하니 연결할 수 없다고 한다. DB가 꺼진 것 같아 systemctl start postgresql-12.service를 입력하니 Job for postgresql-12.service failed because the control process exited with error code. See "systemctl status postgresql-12.service" and "journalctl -xe" for details. 오류코드와 함께 제어 프로세스가 종료되었다고 뜬다. systemctl status postgresql-12.service와 jo..

DB 2022.09.08

[SQL] SQL 문법 간단 정리

SELECT 문 SELECT [DISTINCT] 열 이름 [as alias]... FROM 테이블명1 [as alias], ... 테이블명n as (alias) [WHERE 조건식] [GROUP BY 열 이름...] [HAVING 조건식] [ORDER BY 열 이름 [ASC or DESC]]; JOIN 종류 설명 INNER JOIN 조인 되는 두 테이블의 교집합 LEFT [OUTER] JOIN 왼쪽 테이블을 기준으로 기준 테이블 값 + 오른쪽 테이블의 중복된 값 RIGHT [OUTER] JOIN 오른쪽 테이블을 기준으로 기준 테이블 값 + 왼쪽 테이블의 중복된 값 FULL [OUTER] JOIN 조인 되는 두 테이블의 합집합 CROSS JOIN 조인 되는 두 테이블의 곱집합 UNION 종류 설명 UNIO..

DB 2021.02.01
728x90