[PostgreSQL] 데이터베이스 복제
[root@wallet01 ~]# su - postgres
[postgres@wallet01 ~]$ vi /var/lib/pgsql/9.6/data/pg_hba.conf
host replication postgres 192.168.1.0/24 md5
[postgres@wallet01 ~]$ vi /var/lib/pgsql/9.6/data/postgresql.conf
listen_addresses = '0.0.0.0'
max_wal_senders = 5
wal_level = hot_standby
[postgres@wallet01 ~]$ pg_ctl restart
waiting for server to shut down.... done
server stopped
server starting
[root@wallet02 ~]# su - postgres
[postgres@wallet02 ~]$ pg_basebackup -h 192.168.1.201 -U postgres -F p -P -x -R -D /var/lib/pgsql/9.6/data
Password:
2161085/2161085 kB (100%), 1/1 tablespace
[postgres@wallet02 ~]$ vi /var/lib/pgsql/9.6/data/postgresql.conf
hot_standby = on
[postgres@wallet02 ~]$ vi /var/lib/pgsql/9.6/data/recovery.conf
standby_mode = 'on'
primary_conninfo = 'user=postgres password=postgres host=192.168.1.201 port=5432 sslmode=disable
sslcompression=1 krbsrvname=postgres'
[postgres@wallet02 ~]$ pg_ctl start
server starting
[postgres@wallet01 ~]$ psql
psql (9.6.12)
Type "help" for help.
postgres=# select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;
pid | state | client_addr | sync_priority | sync_state
------+-----------+---------------+---------------+------------
2055 | streaming | 192.168.1.202 | 0 | async
(1 row)
[root@wallet01 ~]# su - postgres
[postgres@wallet01 ~]$ vi /var/lib/pgsql/9.6/data/pg_hba.conf
host replication postgres 192.168.1.0/24 md5
[postgres@wallet01 ~]$ vi /var/lib/pgsql/9.6/data/postgresql.conf
max_wal_senders = 5
wal_level = hot_standby
synchronous_standby_names = 'wallet02,wallet03'
[root@wallet01 ~]# su - postgres
[postgres@wallet01 ~]$ pg_ctl reload
server signaled
[root@wallet02 ~]# su - postgres
[postgres@wallet02 ~]$ pg_basebackup -h 192.168.1.201 -U postgres -F p -P -x -R -D /var/lib/pgsql/9.6/data
Password:
2161085/2161085 kB (100%), 1/1 tablespace
[postgres@wallet02 ~]$ vi /var/lib/pgsql/9.6/data/postgresql.conf
hot_standby = on
[postgres@wallet02 ~]$ vi /var/lib/pgsql/9.6/data/recovery.conf
standby_mode = 'on'
primary_conninfo = 'application_name=wallet02 user=postgres password=postgres host=192.168.1.201 port=5432 sslmode=disable sslcompression=1'
[postgres@wallet02 ~]$ pg_ctl start
server starting
[root@wallet03 ~]# su - postgres
[postgres@wallet03 ~]$ pg_basebackup -h 192.168.1.201 -U postgres -F p -P -x -R -D /var/lib/pgsql/9.6/data
Password:
2161215/2161215 kB (100%), 1/1 tablespace
[postgres@wallet03 ~]$ vi /var/lib/pgsql/9.6/data/postgresql.conf
hot_standby = on
[postgres@wallet03 ~]$ vi /var/lib/pgsql/9.6/data/recovery.conf
standby_mode = 'on'
primary_conninfo = 'application_name=wallet03 user=postgres password=postgres host=192.168.1.201 port=5432 sslmode=disable sslcompression=1'
[postgres@wallet03 ~]$ pg_ctl start
server starting
[postgres@wallet01 ~]$ psql
psql (9.6.12)
Type "help" for help.
postgres=# select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;
pid | state | client_addr | sync_priority | sync_state
------+-----------+---------------+---------------+------------
1968 | streaming | 192.168.1.202 | 1 | sync
2018 | streaming | 192.168.1.203 | 2 | potential
전재 대상:https://blog.51cto.com/13598811/2378520
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.