본문 바로가기

Database

(14)
PostgreSQL HA 구성 - 3. PGPool을 활용한 FailOver 구현 pgpool.conf Configuration II 이전 포스트 'PostgreSQL HA 구성 - 2. PGPool을 활용한 Load Balance 구현' 에서 PGPool이 제공하는 기능 중 Failover, Failback이 있었다고 했다. 이를 활성화 하기 위해서는 pgpool.conf를 수정해야 하는데 대부분의 내용은 이전 장에 거의 다 되있다. 제일 중요한 설정 내용이 'backend_flag' 인자를 ALLOW_TO_FAILOVER로 하는 것이고, 그외에는 아래 내용이 포함되야 한다. ... #------------------------------------------------------------------------------ # FAILOVER AND FAILBACK #--------..
PostgreSQL HA 구성 - 2. PGPool을 활용한 Load Balance 구현 PGPool Overview PostgreSQL의 기능 확장을 위해 많이 사용되는 Middle Ware로 Pool이라는 이름에서 알 수 있듯이 최초 개발 목적은 Connection Pooling을 위해 만들어 졌지만, 이후 기능이 확장되면서 PostgreSQL DB Clustering을 위해 자주 사용된다. PGPool이 제공하는 기능들을 대략적으로 요약하자면 다음과 같다.Connection Pool 관리 : PostgreSQL은 하나의 명령을 수행할 떄마다 별도로 Connection을 만들어서 사용하게 되는데, 이 때 사용하는 Resource가 상대적으로 크다. PGPool은 이런 Connection들을 재사용하게끔 해서 전체 성능을 향상시킨다. 또, 동시에 지원 가능한 Connection 수의 최대치..
PostgreSQL HA 구성 -1. Streaming Replication 데이터베이스를 실제 서비스에서 운용하게 될 때 가장 중요한 요소가 고가용성(Hign Ability)이다. 이번 Post에서는 HA구성시 중요한 요소중에 하나인 DB Replication을 Postgresql에서 구현한 사례를 설명하려고 한다. HA (Database High Ability)DB HA구성, 또는 DB 이중화라고 불리는 이 작업은 복수의 DB Server를 준비한 상태에서 Active-Active 또는 Active-Standby 로 동작시키면서 이중 일부의 Server에 문제가 발생하더라도 전체 서비스가 멈추는 사고를 방지하기 위해서 이루어진다. 여기에 포함되는 개념이 아래 2가지 이다. Data는 전체 DB Cluster에 반영되야 한다는 것이다. DB Server가 몇 개이건 모두 공통된..
PostgreSQL 사용자 추가 및 DB/ Table 생성 지난 포스팅 'PostgreSQL 설정 변경 및 실행 (RHEL7 환경)' 에 이어 사용자 추가와 DB 생성을 해보려 한다. 1. 사용자 생성 현재 사용자 정보를 확인할 때는 아래와 같이 pg_shadow나 pg_user를 사용하면 된다. pg_shadow 는 8.1 이하 버전의 하위 호환성을 위해 남아 있고, 최신 버전의 경우 pg_user를 사용하길 권장한다. 뭐... 큰 차이는 없다. pg_user에서는 passwd Field를 항상 '*'으로 표기하고, pg_shadow에서는 Encryped된 값 혹은 Null로 표시하는 정도... 깊이 들어가면 좀 더 다른 점이 있는데, 이 정도만 알아도 큰 문제 없는 것 같다. postgres=# SELECT * FROM PG_USER; usename | us..
PostgreSQL 설정 변경 및 실행 (RHEL7 환경) 지난 포스팅 'RHEL7에 PostgreSQL 설치' 에 이어 실행하는 과정을 정리한다. 1. pg_hba.conf, postgresql.conf 수정 Postgresql을 사용하면서 설정을 변경해야 하는 일이 생기는데 주로 pg_hba.conf와 postgresql.conf이다. 대략적인 설명은 아래와 같다. 이외에 pg_indent.conf라 해서 System 사용자와 PostgreSQL 사용자 Mapping Table을 관리하는 설정 파일이 있는데 사용을 안 해서 설명을 못하겠다. (필자는 향후 Replication Streaming 과 pgpool을 활용한 HA 구성을 위해 이 두 파일의 설정 변경이 필수적이다) postgresql.conf : Main 설정 파일. 접속 Thread 숫자, 데이터..
RHEL7에 PostgreSQL 설치 1. Yum Repository Update 하기Redhat 계열에서 Yum을 이용해서 PostgreSQL을 다소 쉽게 설치할 수 있다. 이를 위해 자신이 사용하고 있는 OS 버전과 설치하고자 하는 PostgreSQL 버전 확인이 필요하다. >> Repository 확인 이 예제에서는 Oracle Linux 7.4 + PostgreSQL 9.6을 사용하기 때문에 아래와 같이 Repository를 Update 한다. ... [root@ha-test-1 bin]$ rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm ... 정상적으로 끝나면 Repository를 확..