久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

POSTGRESQL10.3 RPM包如何實(shí)現(xiàn)主從搭建

共計(jì) 12963 個(gè)字符,預(yù)計(jì)需要花費(fèi) 33 分鐘才能閱讀完成。

這篇文章主要介紹 POSTGRESQL10.3  RPM 包如何實(shí)現(xiàn)主從搭建,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

一、POSTGRESQL 主從復(fù)制搭建

1、安裝 POSTGRESQL

PGSQL10.3

下載地址:

https://yum.postgresql.org/testing/10/redhat/rhel-6-x86_64/repoview/postgresqldbserver10.group.html

下載

· postgresql10 – PostgreSQL client programs and libraries

· postgresql10-contrib – Contributed source and binaries distributed with PostgreSQL

· postgresql10-libs – The shared libraries required for any PostgreSQL clients

· postgresql10-server – The programs needed to create and run a PostgreSQL server

依次使用 rpm –ivh  進(jìn)行安裝(兩個(gè)節(jié)點(diǎn)都安裝)

安裝順序:

rpm -ivh postgresql10-libs-10.3-1PGDG.rhel6.x86_64.rpm

rpm -ivh postgresql10-10.3-1PGDG.rhel6.x86_64.rpm

rpm -ivh postgresql10-server-10.3-1PGDG.rhel6.x86_64.rpm

rpm -ivh postgresql10-contrib-10.3-1PGDG.rhel6.x86_64.rpm

2、啟動(dòng) POSTGRESQL 服務(wù)

(1)第一步啟動(dòng)

service postgresql-10 initdb

(2)第二步啟動(dòng)

service postgresql-10 start

3、修改監(jiān)聽

(1)修改監(jiān)聽地址

vi  /var/lib/pgsql/10/data/postgresql.conf

# – Connection Settings –

 # 這里原本是 #listen_addresses = localhost 修改為以下黃色字體

listen_addresses = 192.168.159.128          

(2)查看監(jiān)聽

顯示黃色特色字體即可

netstat -anlp |grep post

tcp  0  0 192.168.159.128:5432  0.0.0.0:*  LISTEN  4784/postmaster 

udp  0  0 ::1:57424  ::1:57424  ESTABLISHED 4784/postmaster 

unix  2  [ACC]  STREAM  LISTENING  30353  4784/postmaster  /var/run/postgresql/.s.PGSQL.5432

unix  2  [ACC]  STREAM  LISTENING  30356  4784/postmaster  /tmp/.s.PGSQL.5432

4、主從搭建

(1)主庫(kù)環(huán)境

su – postgres

psql

創(chuàng)建一個(gè)用戶復(fù)制的用戶 replica

CREATE ROLE replica login replication encrypted password replica

修改 pg_hba.conf 文件,指定 replica 登錄網(wǎng)絡(luò)(最后一添加)

vi /var/lib/pgsql/10/data/pg_hba.conf

host    replication     replica            192.168.159.0/24         md5
host    all          replica           192.168.159.0/24         trust

 
主庫(kù)配置文件修改以下幾項(xiàng),其他不變
vi /var/lib/pgsql/10/data/postgresql.conf
listen_addresses = *
wal_level = hot_standby # 熱備模式
max_wal_senders= 6 # 可以設(shè)置最多幾個(gè)流復(fù)制鏈接,差不多有幾個(gè)從,就設(shè)置多少
wal_keep_segments = 10240 # 重要配置
wal_send_timeout = 60s
max_connections = 512 # 從庫(kù)的  max_connections 要大于主庫(kù)
archive_mode = on # 允許歸檔
archive_command =  cp %p /url/path%f    # 根據(jù)實(shí)際情況設(shè)置

(2)從庫(kù)環(huán)境

把備庫(kù)的數(shù)據(jù)文件夾目錄清空
rm -rf /var/lib/pgsql/10/data/*

在備庫(kù)上運(yùn)行

pg_basebackup -F p –progress -D /var/lib/pgsql/10/data/ -h 192.168.159.128 -p 5432 -U replica –password

輸入密碼 replica 

!!!注意,復(fù)制完成后,在備庫(kù)一定要將數(shù)據(jù)目錄下的所有文件重新授權(quán)

chown -R postgres.postgres /var/lib/pgsql/10/data/

創(chuàng)建 recovery.cnf 文件

cp /usr/pgsql-10/share/recovery.conf.sample /var/lib/pgsql/10/data/recovery.conf

vi  /var/lib/pgsql/10/data/recovery.conf

standby_mode = on

primary_conninfo = host=192.168.159.128 port=5432 user=replica password=replica

recovery_target_timeline = latest

trigger_file = /var/lib/pgsql/10/data/trigger.kenyon

vi /var/lib/pgsql/10/data/postgresql.conf
listen_addresses = *

wal_level = hot_standby

max_connections =1000 # 一般從的最大鏈接要大于主的

hot_standby =on  # 說明這臺(tái)機(jī)器不僅僅用于數(shù)據(jù)歸檔,也用于查詢

max_standby_streaming_delay =30s

wal_receiver_status_interval = 10s  # 多久向主報(bào)告一次從的狀態(tài)

hot_standby_feedback = on  # 如果有錯(cuò)誤的數(shù)據(jù)復(fù)制,是否向主進(jìn)行范例

啟動(dòng)備庫(kù)

service postgresql-10 start

如果無法啟動(dòng),如下操作:

scp /var/lib/pgsql/10/data/postmaster.opts 192.168.159.129:/var/lib/pgsql/10/data/

 chown -R postgres.postgres /var/lib/pgsql/10/data/

chmod 700 data/

5、驗(yàn)證主從功能

主庫(kù)查詢

su – postgres

psql

postgres=# select client_addr,sync_state from pg_stat_replication;

  client_addr  | sync_state

—————–+————

 192.168.159.129 | async

(1 row)

在主庫(kù)創(chuàng)建表

create table test2 (name varchar(3));

在從庫(kù)查詢表

\d

主庫(kù)查詢黃色字體

[root@ha1 data]# ps aux | grep postgres

postgres  4686  0.0  0.8 356584 15592 ?  S  15:22  0:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data

postgres  4688  0.0  0.0 209416  1572 ?  Ss  15:22  0:00 postgres: logger process 

postgres  4690  0.0  0.1 356700  3744 ?  Ss  15:22  0:00 postgres: checkpointer process 

postgres  4691  0.0  0.1 356584  3044 ?  Ss  15:22  0:00 postgres: writer process 

postgres  4692  0.0  0.3 356584  5980 ?  Ss  15:22  0:00 postgres: wal writer process 

postgres  4693  0.0  0.1 356992  2616 ?  Ss  15:22  0:00 postgres: autovacuum launcher process 

postgres  4694  0.0  0.0 211516  1540 ?  Ss  15:22  0:00 postgres: archiver process 

postgres  4695  0.0  0.0 211648  1784 ?  Ss  15:22  0:02 postgres: stats collector process 

postgres  4696  0.0  0.1 356876  2272 ?  Ss  15:22  0:00 postgres: bgworker: logical replication launcher 

postgres  4711  0.7  0.4 358576  8536 ?  Ss  15:24  0:35 postgres: dbuser exampledb 192.168.159.1(63172) idle 

postgres  4845  0.0  0.1 357384  3424 ?  Ss  15:39  0:00 postgres: wal sender process replica 192.168.159.129(46554) streaming 0/401B0A0

root  5049  0.0  0.0 103256  840 pts/3  S+  16:42  0:00 grep postgres

備庫(kù)查詢黃色字體

[root@ha2 data]# ps aux | grep postgres

postgres  4827  0.0  2.2 398228 42844 ?  S  15:39  0:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data

postgres  4829  0.0  0.0 209416  1536 ?  Ss  15:39  0:00 postgres: logger process 

postgres  4830  0.0  0.2 398324  3948 ?  Ss  15:39  0:00 postgres: startup process  recovering 000000010000000000000004

postgres  4831  0.0  0.1 398228  3496 ?  Ss  15:39  0:00 postgres: checkpointer process 

postgres  4832  0.0  0.1 398228  2772 ?  Ss  15:39  0:00 postgres: writer process 

postgres  4833  0.0  0.0 211516  1604 ?  Ss  15:39  0:00 postgres: stats collector process 

postgres  4834  0.1  0.1 405444  3688 ?  Ss  15:39  0:06 postgres: wal receiver process  streaming 0/401B0A0 

root  4912  0.0  0.0 103252  828 pts/3  S+  16:42  0:00 grep postgres

6、POSTGRESQL 相關(guān)

(1)創(chuàng)建 LINUX 用戶

useradd dbuser

passwd dbuser

(2)創(chuàng)建數(shù)據(jù)庫(kù)用戶

CREATE USER dbuser WITH PASSWORD password

(3)創(chuàng)建數(shù)據(jù)庫(kù)

CREATE DATABASE exampledb OWNER dbuser;

(4)賦予權(quán)限

GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser;

(5)以 dbuser 的身份連接數(shù)據(jù)庫(kù) exampledb

su – dbuser

psql -d exampledb

(6)網(wǎng)絡(luò)登陸方式

vi /var/lib/pgsql/10/data/pg_hba.conf(在 IPV4 那里添加以下)

host    exampledb        dbuser             192.168.159.0/24        trust

切換 dbuser 用戶登陸

psql -h 192.168.159.128 -U dbuser -p password -d exampledb -p 5432

 (7)重啟和停止命令

service postgresql-10 restart

service postgresql-10 stop

(8)重要配置文件

pg_hba.conf

postgresql.conf

(9)PG 的安裝目錄及命令目錄

查看進(jìn)程是否啟動(dòng),可以找到

命令目錄 /usr/pgsql-10/bin/

安裝目錄 /var/lib/pgsql/10/data

[root@ha1 ~]# ps -ef|grep post

root  1732   1  0 02:25 ?  00:00:00 /usr/libexec/postfix/master

postfix  1742  1732  0 02:25 ?  00:00:00 pickup -l -t fifo -u

postfix  1743  1732  0 02:25 ?  00:00:00 qmgr -l -t fifo -u

postgres  2322  1  1 02:38 ?  00:00:00 /usr/pgsql-10/bin/postmaster -D /var/lib/pgsql/10/data

postgres  2324  2322  0 02:38 ?  00:00:00 postgres: logger process 

postgres  2329  2322  0 02:38 ?  00:00:00 postgres: checkpointer process 

postgres  2330  2322  0 02:38 ?  00:00:00 postgres: writer process 

postgres  2331  2322  0 02:38 ?  00:00:00 postgres: wal writer process 

postgres  2332  2322  0 02:38 ?  00:00:00 postgres: autovacuum launcher process 

postgres  2333  2322  0 02:38 ?  00:00:00 postgres: stats collector process 

postgres  2334  2322  0 02:38 ?  00:00:00 postgres: bgworker: logical replication launcher 

root  2336  2232  0 02:39 pts/0  00:00:00 grep post

 

7、主備手動(dòng)切換
4、手動(dòng)主備切換

(1)創(chuàng)建備庫(kù) recovery.conf 文件(在備庫(kù)上操作 192.168.159.152)

  cp $PGHOME/share/recovery.conf.sample $PGDATA/recovery.conf

配置以下參數(shù)  

standby_mode = on   – 標(biāo)記 PG 為 STANDBY SERVER

primary_conninfo = host=192.168.159.151 port=1921 user=repuser   – 標(biāo)識(shí)主庫(kù)信息

trigger_file = /data/pg/data/trigger.kenyon   – 標(biāo)識(shí)觸發(fā)器文件

(2)關(guān)閉主庫(kù)(在主庫(kù)上操作 192.168.159.151)

/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile stop

(3)激活備庫(kù)到主庫(kù)狀態(tài) (在備庫(kù)上操作 192.168.159.152)

  激活備庫(kù)只要?jiǎng)?chuàng)建一個(gè)文件即可,根據(jù)備庫(kù) recovery.conf 配置文件的參數(shù) trigger_file 值,

  創(chuàng)建這個(gè) trigger 文件即可。例如 touch /data/pg/data/trigger.kenyon

touch /data/pg/data/trigger.kenyon

過一會(huì)兒發(fā)現(xiàn) recovery.conf 文件變成 recovery.done,說明備庫(kù)已經(jīng)激活。

查看 logfile 日志,出現(xiàn)以下信息即激活
2018-06-04 21:11:01.137 PDT [12818] 日志:   已找到觸發(fā)器文件:/data/pg/data/trigger.kenyon
2018-06-04 21:11:01.148 PDT [12818] 日志:  redo 在 0/C02A390 完成
2018-06-04 21:11:01.172 PDT [12818] 日志:   已選擇的新時(shí)間線 ID:2
2018-06-04 21:11:05.442 PDT [12818] 日志:   歸檔恢復(fù)完畢
2018-06-04 21:11:05.568 PDT [12817] 日志:   數(shù)據(jù)庫(kù)系統(tǒng)準(zhǔn)備接受連接

(4)修改原來主庫(kù)的配置文件
vi /data/pg/data/postgresql.conf
max_connections = 1500

(5)激活原來的主庫(kù),讓其轉(zhuǎn)變成從庫(kù)   (在原來的主庫(kù)上執(zhí)行 192.168.159.151) 

– 創(chuàng)建 $PGDATA/recovery.conf 文件,配置以下參數(shù)
vi /data/pg/data/recovery.conf

recovery_target_timeline = latest

standby_mode = on   – 標(biāo)記 PG 為 STANDBY SERVER

primary_conninfo = host=192.168.159.152 port=1921 user=repuser   – 標(biāo)識(shí)主庫(kù)信息

trigger_file = /data/pg/data/trigger.kenyon   – 標(biāo)識(shí)觸發(fā)器文件

– 修改 pg_hba.conf (現(xiàn)在的主庫(kù)上增加 192.168.159.152),添加以下配置
vi /data/pg/data/pg_hba.conf

host  replication  repuser  192.168.159.151/32  md5

啟動(dòng)原來的主庫(kù)即現(xiàn)在的從庫(kù)(192.168.159.151)
/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile start

查看現(xiàn)在的從庫(kù) logfile 日志發(fā)現(xiàn)報(bào)錯(cuò)信息
2018-06-05 00:08:00.326 PDT [9729] 詳細(xì)信息:  WAL 結(jié)束時(shí),到了時(shí)間線 1 和地址 0 /C02A400.
2018-06-05 00:08:00.327 PDT [9725] 日志:   在當(dāng)前恢復(fù)點(diǎn) 0 /C02A630 之前, 新的時(shí)間點(diǎn) 2 脫離了當(dāng)前茅的數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間點(diǎn) 1
2018-06-05 00:08:05.322 PDT [9729] 日志:   在 0 /C000000 處時(shí)間線 1 上重啟 WAL 流操作
2018-06-05 00:08:05.327 PDT [9729] 日志:   復(fù)制由主用服務(wù)器終止
2018-06-05 00:08:05.327 PDT [9729] 詳細(xì)信息:  WAL 結(jié)束時(shí),到了時(shí)間線 1 和地址 0 /C02A400.
2018-06-05 00:08:05.329 PDT [9725] 日志:   在當(dāng)前恢復(fù)點(diǎn) 0 /C02A630 之前, 新的時(shí)間點(diǎn) 2 脫離了當(dāng)前茅的數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間點(diǎn) 1
2018-06-05 00:08:10.328 PDT [9729] 日志:   在 0 /C000000 處時(shí)間線 1 上重啟 WAL 流操作
2018-06-05 00:08:10.332 PDT [9729] 日志:   復(fù)制由主用服務(wù)器終止
2018-06-05 00:08:10.332 PDT [9729] 詳細(xì)信息:  WAL 結(jié)束時(shí),到了時(shí)間線 1 和地址 0 /C02A400.
2018-06-05 00:08:10.333 PDT [9725] 日志:   在當(dāng)前恢復(fù)點(diǎn) 0 /C02A630 之前, 新的時(shí)間點(diǎn) 2 脫離了當(dāng)前茅的數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間點(diǎn) 1

在現(xiàn)在的主庫(kù)操作:
scp /data/pg/data/pg_wal/00000002.history 192.168.159.151:/data/pg/data/pg_wal/4、手動(dòng)主備切換

(1)創(chuàng)建備庫(kù) recovery.conf 文件(在備庫(kù)上操作 192.168.159.152)

  cp $PGHOME/share/recovery.conf.sample $PGDATA/recovery.conf

配置以下參數(shù)  

standby_mode = on   – 標(biāo)記 PG 為 STANDBY SERVER

primary_conninfo = host=192.168.159.151 port=1921 user=repuser   – 標(biāo)識(shí)主庫(kù)信息

trigger_file = /data/pg/data/trigger.kenyon   – 標(biāo)識(shí)觸發(fā)器文件

(2)關(guān)閉主庫(kù)(在主庫(kù)上操作 192.168.159.151)

/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile stop

(3)激活備庫(kù)到主庫(kù)狀態(tài) (在備庫(kù)上操作 192.168.159.152)

  激活備庫(kù)只要?jiǎng)?chuàng)建一個(gè)文件即可,根據(jù)備庫(kù) recovery.conf 配置文件的參數(shù) trigger_file 值,

  創(chuàng)建這個(gè) trigger 文件即可。例如 touch /data/pg/data/trigger.kenyon

touch /data/pg/data/trigger.kenyon

過一會(huì)兒發(fā)現(xiàn) recovery.conf 文件變成 recovery.done,說明備庫(kù)已經(jīng)激活。

查看 logfile 日志,出現(xiàn)以下信息即激活
2018-06-04 21:11:01.137 PDT [12818] 日志:   已找到觸發(fā)器文件:/data/pg/data/trigger.kenyon
2018-06-04 21:11:01.148 PDT [12818] 日志:  redo 在 0/C02A390 完成
2018-06-04 21:11:01.172 PDT [12818] 日志:   已選擇的新時(shí)間線 ID:2
2018-06-04 21:11:05.442 PDT [12818] 日志:   歸檔恢復(fù)完畢
2018-06-04 21:11:05.568 PDT [12817] 日志:   數(shù)據(jù)庫(kù)系統(tǒng)準(zhǔn)備接受連接

(4)修改原來主庫(kù)的配置文件
vi /data/pg/data/postgresql.conf
max_connections = 1500

(5)激活原來的主庫(kù),讓其轉(zhuǎn)變成從庫(kù)   (在原來的主庫(kù)上執(zhí)行 192.168.159.151) 

– 創(chuàng)建 $PGDATA/recovery.conf 文件,配置以下參數(shù)
vi /data/pg/data/recovery.conf

recovery_target_timeline = latest

standby_mode = on   – 標(biāo)記 PG 為 STANDBY SERVER

primary_conninfo = host=192.168.159.152 port=1921 user=repuser   – 標(biāo)識(shí)主庫(kù)信息

trigger_file = /data/pg/data/trigger.kenyon   – 標(biāo)識(shí)觸發(fā)器文件

– 修改 pg_hba.conf (現(xiàn)在的主庫(kù)上增加 192.168.159.152),添加以下配置
vi /data/pg/data/pg_hba.conf

host  replication  repuser  192.168.159.151/32  md5

啟動(dòng)原來的主庫(kù)即現(xiàn)在的從庫(kù)(192.168.159.151)
/opt/postgresql-10.3/bin/pg_ctl -D /data/pg/data/ -l logfile start

查看現(xiàn)在的從庫(kù) logfile 日志發(fā)現(xiàn)報(bào)錯(cuò)信息
2018-06-05 00:08:00.326 PDT [9729] 詳細(xì)信息:  WAL 結(jié)束時(shí),到了時(shí)間線 1 和地址 0 /C02A400.
2018-06-05 00:08:00.327 PDT [9725] 日志:   在當(dāng)前恢復(fù)點(diǎn) 0 /C02A630 之前, 新的時(shí)間點(diǎn) 2 脫離了當(dāng)前茅的數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間點(diǎn) 1
2018-06-05 00:08:05.322 PDT [9729] 日志:   在 0 /C000000 處時(shí)間線 1 上重啟 WAL 流操作
2018-06-05 00:08:05.327 PDT [9729] 日志:   復(fù)制由主用服務(wù)器終止
2018-06-05 00:08:05.327 PDT [9729] 詳細(xì)信息:  WAL 結(jié)束時(shí),到了時(shí)間線 1 和地址 0 /C02A400.
2018-06-05 00:08:05.329 PDT [9725] 日志:   在當(dāng)前恢復(fù)點(diǎn) 0 /C02A630 之前, 新的時(shí)間點(diǎn) 2 脫離了當(dāng)前茅的數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間點(diǎn) 1
2018-06-05 00:08:10.328 PDT [9729] 日志:   在 0 /C000000 處時(shí)間線 1 上重啟 WAL 流操作
2018-06-05 00:08:10.332 PDT [9729] 日志:   復(fù)制由主用服務(wù)器終止
2018-06-05 00:08:10.332 PDT [9729] 詳細(xì)信息:  WAL 結(jié)束時(shí),到了時(shí)間線 1 和地址 0 /C02A400.
2018-06-05 00:08:10.333 PDT [9725] 日志:   在當(dāng)前恢復(fù)點(diǎn) 0 /C02A630 之前, 新的時(shí)間點(diǎn) 2 脫離了當(dāng)前茅的數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間點(diǎn) 1

在現(xiàn)在的主庫(kù)操作:
scp /data/pg/data/pg_wal/00000002.history 192.168.159.151:/data/pg/data/pg_wal/

(1)創(chuàng)建備庫(kù) recovery.conf 文件(在備庫(kù)上操作 192.168.159.149)

  cp /usr/pgsql-10/share/recovery.conf.sample /var/lib/pgsql/10/data/recovery.conf

配置以下參數(shù)  

standby_mode = on   – 標(biāo)記 PG 為 STANDBY SERVER

primary_conninfo = host=192.168.159.128 port=5432 user=replica password=replica   – 標(biāo)識(shí)主庫(kù)信息

trigger_file = /var/lib/pgsql/10/data/trigger.kenyon   – 標(biāo)識(shí)觸發(fā)器文件

(2)關(guān)閉主庫(kù)(在主庫(kù)上操作 192.168.159.148)

service postgresql-10 stop

(3)激活備庫(kù)到主庫(kù)狀態(tài) (在備庫(kù)上操作 192.168.159.149)

  激活備庫(kù)只要?jiǎng)?chuàng)建一個(gè)文件即可,根據(jù)備庫(kù) recovery.conf 配置文件的參數(shù) trigger_file 值,

  創(chuàng)建這個(gè) trigger 文件即可。例如 touch /var/lib/pgsql/10/data/trigger.kenyon

touch /var/lib/pgsql/10/data/trigger.kenyon

過一會(huì)兒發(fā)現(xiàn) recovery.conf 文件變成 recovery.done,說明備庫(kù)已經(jīng)激活。

查看 /var/lib/pgsql/10/data/log/ 目錄下的最新日志,出現(xiàn)以下信息即激活
(我這里的日志是 tail  -100f postgresql-Tue.log)
2018-06-05 19:32:36.403 PDT [3969] LOG:  fetching timeline history file for timeline 2 from primary server
2018-06-05 19:32:36.429 PDT [3969] LOG:  started streaming WAL from primary at 0/3000000 on timeline 1
2018-06-05 19:32:36.461 PDT [3969] LOG:  replication terminated by primary server
2018-06-05 19:32:36.461 PDT [3969] DETAIL:  End of WAL reached on timeline 1 at 0/301B078.
2018-06-05 19:32:36.478 PDT [3916] LOG:  new target timeline is 2
2018-06-05 19:32:36.479 PDT [3969] LOG:  restarted WAL streaming at 0/3000000 on timeline 2
2018-06-05 19:32:37.044 PDT [3916] LOG:  redo starts at 0/301B078

(4)修改原來主庫(kù)的配置文件(192.168.159.148)
vi /var/lib/pgsql/10/data/postgresql.conf
max_connections = 150

(5)激活原來的主庫(kù),讓其轉(zhuǎn)變成從庫(kù)   (在原來的主庫(kù)上執(zhí)行 192.168.159.148) 

– 創(chuàng)建 $PGDATA/recovery.conf 文件,配置以下參數(shù)
vi /data/pg/data/recovery.conf

recovery_target_timeline = latest

standby_mode = on   – 標(biāo)記 PG 為 STANDBY SERVER

primary_conninfo = host=192.168.159.149 port=1921 user=repuser   – 標(biāo)識(shí)主庫(kù)信息

trigger_file = /var/lib/pgsql/10/data/trigger.kenyon   – 標(biāo)識(shí)觸發(fā)器文件

– 修改 pg_hba.conf (現(xiàn)在的主庫(kù)上增加 192.168.159.149),添加以下配置
vi /data/pg/data/pg_hba.conf

host    replication     replica            192.168.159.0/24         md5
host    all          replica           192.168.159.0/24         trust

注意這里修改完配置文件后需要重啟數(shù)據(jù)庫(kù)服務(wù)(192.168.159.149)
service postgresql-10 restart

啟動(dòng)原來的主庫(kù)即現(xiàn)在的從庫(kù)(192.168.159.148)
service postgresql-10 start

主庫(kù)查詢

su – postgres

psql

postgres=# select client_addr,sync_state from pg_stat_replication;

   client_addr   | sync_state 
—————–+————
 192.168.159.148 | async
(1 row)

相關(guān)報(bào)錯(cuò):
(1)網(wǎng)絡(luò)登錄方式報(bào)錯(cuò)
psql: FATAL:  no pg_hba.conf entry for host 192.168.159.128 , user dbuser , database exampledb , SSL off

出現(xiàn)這個(gè)報(bào)錯(cuò),就要檢查 pg_hba.conf 文件了,
添加設(shè)置 host exampledb dbuser 192.168.159.0/24        trust   重啟數(shù)據(jù)庫(kù)即可解決

(2)發(fā)現(xiàn)登陸 postgres 時(shí)出現(xiàn)以下問題
-bash-4.1$ 
root 用戶執(zhí)行
cp /etc/skel/.bash* /var/lib/pgsql/
再次登陸即可變成
[postgres@node1 ~]$

以上是“POSTGRESQL10.3  RPM 包如何實(shí)現(xiàn)主從搭建”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-19發(fā)表,共計(jì)12963字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 西充县| 沈丘县| 长垣县| 咸丰县| 曲阜市| 宁德市| 安陆市| 黔南| 余干县| 囊谦县| 襄垣县| 延寿县| 鄂托克前旗| 大关县| 广昌县| 大埔县| 湟源县| 昌平区| 惠安县| 新化县| 河源市| 勐海县| 察雅县| 巴楚县| 徐汇区| 合江县| 桦甸市| 东丰县| 嘉黎县| 兴山县| 涞水县| 镇原县| 上饶县| 广德县| 枝江市| 封丘县| 怀柔区| 苍南县| 郸城县| 夹江县| 山阴县|