同步流復(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ì)阻止連接。
(2)針對(duì)第二種情況,處理方式如下:
備庫(kù)需要一定的時(shí)間去重放wal日志去追趕主庫(kù)狀態(tài),等待即可。