반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nft예제
- HTML5
- html5포트폴리오예제
- NFT
- 솔라나개발
- 솔라나
- 포트폴리오
- html5글자효과
- html5예제
- 이중화
- html5디자인예제
- html5popup
- html5배경만들기
- grpc
- html5기초예제
- html5기초
- PostgresSQL
- solanaNFT
- 솔라나cookbook
- NFT개발
- html5웹디자인예제
- 웹예제
- 솔라나NFT
- 포트폴리오예제
- pgpool
- 서버
- html5웹디자인
- 웹디자인예제
- NFT솔라나
- 웹디자인
Archives
- Today
- Total
Scikit Web
PostgreSQL PGPool Active StandBy Using Docker 개발 환경 구축 - 3 본문
Backend/PostgresSQL
PostgreSQL PGPool Active StandBy Using Docker 개발 환경 구축 - 3
Keun0 2023. 2. 18. 10:32728x90
반응형
앞서 도커로 실행한 PostgreSQL Active(Primary) 서버와 Standby 서버를 PgPool로 연결하는 작업을 한다.
pgpool.conf 파일을 수정한다
vi /etc/pgpool/pgpool.conf
#------------------------------------------------------------------------------
# CONNECTIONS
#------------------------------------------------------------------------------
listen_addresses = '*'
port = 1111
#------------------------------------------------------------------------------
# - Backend Connection Settings -
#------------------------------------------------------------------------------
backend_hostname0 = 'PRIMARY_SERVER_IP'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresql/data'
backend_flag0 = 'ALLOW_TO_FAILOVER'
backend_hostname1 = 'STANDBY_SERVER_IP'
backend_port1 = 5431
backend_weight1 = 1
backend_data_directory1 = '/var/lib/postgresql/data'
backend_flag1 = 'ALLOW_TO_FAILOVER'
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
logdir = '/var/log/pgpool'
#------------------------------------------------------------------------------
# MASTER/SLAVE MODE
#------------------------------------------------------------------------------
master_slave_mode = on
master_slave_sub_mode = 'stream'
#------------------------------------------------------------------------------
# - Streaming -
#------------------------------------------------------------------------------
sr_check_period = 0
sr_check_user = 'DB_ACCOUNT'
sr_check_password = 'DB_CONNECTION_PASSWORD'
sr_check_database = 'DB_NAME'
delay_threshold = 0
#------------------------------------------------------------------------------
# FAILOVER AND FAILBACK
#------------------------------------------------------------------------------
search_primary_node_timeout = 10
pgpool2를 재시작 한다
sudo systemctl restart pgpool2.service
마지막으로 동작을 테스트 하고 Primary Standby 설정을 되돌리는 방법에 대한 설명이다.
동작테스는 Active(Primary) Server Docker 를 stop 한 이후 에도 해당 DB와 연결된 서비스가 문제없이 데이터를 가져오면 동작이 구축이 문제없이 된것으로 보인다.
하지만 한번 이렇게 동작 모드가 변경되면.. 두 서버 모두 Standby Standby 로 변경 되었다.
관련 설정을 다시 변경해줘야 Primary Standby mode로 돌아올수 있다.
우선 pgpool2 서비스를 stop 하고 저장되어 있던 정보를 삭제한다.
sudo systemctl stop pgpool2.service
rm -rf /var/log/pgpool/pgpool_status
Active(Primary) 서버 재시작
sudo docker compose -f dokcer-compose.yml up -d
Active(Primary) 서버에서 아래 명령어로 동작 관련 설정을 복구 한다.
psql -h PRIMARY_SERVER_IP -p PRIMARY_DB_PORT -U DB_USER DB_NAME -c "select pg_is_in_recovery();"
pgpool2 서비스 재시작
sudo systemctl start pgpool2.service
728x90
반응형
'Backend > PostgresSQL' 카테고리의 다른 글
PostgreSQL PGPool Active StandBy Using Docker 개발 환경 구축 - 2 (0) | 2023.02.17 |
---|---|
PostgreSQL PGPool Active StandBy Using Docker 개발 환경 구축 - 1 (0) | 2023.02.16 |
pg restore cli with docker (0) | 2022.12.30 |
Python PostgresSQL SELECT MAX 특수 문자 포함 (0) | 2022.12.16 |
PostgresSQL DATETIME to UnixTime Example - 포스트그래스 데이트타임 유닉스 타임 변환 예제 (0) | 2022.06.23 |
Comments