同步流復(fù)制備庫(kù)啟動(dòng)報(bào)錯(cuò)

1、問題現(xiàn)象

在搭建同步流復(fù)制的standby庫(kù),啟動(dòng)備庫(kù)時(shí),數(shù)據(jù)庫(kù)報(bào)錯(cuò),報(bào)錯(cuò)信息如下:

[postgres@pghs ~]$ psql
psql: FATAL:  the database system is starting up

2、解決方案

出現(xiàn)此報(bào)錯(cuò)信息主要有以下兩種情況:

1)備庫(kù)未設(shè)置hot_standby參數(shù)為on。

2)備庫(kù)wal日志replay落后主庫(kù)較長(zhǎng)時(shí)間,備庫(kù)需要重放wal日志去追趕主庫(kù)狀態(tài)。

(1)針對(duì)第一種情況,處理方式如下:

將postgresql.conf中hot_standby設(shè)置為on:

vi $PGDATA/postgresql.conf 
hot_standby = on

修改完成后重啟數(shù)據(jù)庫(kù)使該參數(shù)生效。

該錯(cuò)誤并不是啟動(dòng)庫(kù)的時(shí)候報(bào)錯(cuò),而是連接報(bào)錯(cuò)。數(shù)據(jù)庫(kù)本身是運(yùn)行的,只不過一個(gè)備用服務(wù)可能沒有啟用hot_standby參數(shù),因此會(huì)阻止連接。

tp
tp

(2)針對(duì)第二種情況,處理方式如下:

備庫(kù)需要一定的時(shí)間去重放wal日志去追趕主庫(kù)狀態(tài),等待即可。