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

PostgreSQL如何搭建主備環境

152次閱讀
沒有評論

共計 3424 個字符,預計需要花費 9 分鐘才能閱讀完成。

這篇文章給大家分享的是有關 PostgreSQL 如何搭建主備環境的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

安裝部署數據庫軟件

安裝部署還是得啰嗦幾句,使用的是 9.5 版本的源碼安裝,源碼包很小,就幾十兆。

1) 解壓

tar -zxvf  postgresql-9.5.0.tar.gz

2) 切換到解壓目錄,嘗試編譯準備

cd postgresql-9.5.0

./configure -prefix /usr/local/pgsql

這個過程很可能有問題,比如下面的錯誤。

configure: error: zlib library not found

If you have zlib already installed, see config.log for details on the

failure.  It is possible the compiler isn t looking in the proper directory.

Use –without-zlib to disable zlib support.

類似的錯誤還有 readline,實際的情況 zlib 包和 readline 包都是有的。

這里需要注意一點:

redhat 系列下這個軟件包叫   readline-devel     ubuntu 下叫 readline-dev    細分又分為 libreadline5-dev    和 libreadline6-dev

所以我們需要安裝的是 readline-devel 和 zlib-devel 的包即可搞定,而不要只是懷疑,然后把 –without-zlib 選項給啟用了。

接下來的步驟就簡單了。

3) 開始編譯安裝

這兩個過程耗時相對會多一些,大概幾分鐘吧,比 MySQL 的源碼編譯要快很多。

make

make install

4) 創建用戶和組

useradd postgres

mkdir -p /data/pgsql9.5

chown -R postgres:postgres /data/pgsql9.5

su – postgres

5)初始化部署

/usr/local/pgsql/bin/initdb -D  /data/pgsql9.5

至此,數據庫軟件部署就搞定了,在這里我們只做了功能,還沒有涉及性能層面的調整和優化。

2

3

配置主庫

使用的環境是兩臺服務器

192.168.179.128  主庫

192.168.253.134  備庫

1)創建一個復制角色

CREATE ROLE replica login replication encrypted password replica

2)配置訪問權限文件 gp_hba.conf

添加一條記錄,使得備庫可以訪問,修改后需要重啟

host   replication  replica   192.168.253.134/24   trust

因為是跨網段,我額外補充了一條網關的記錄

host   replication  replica   192.168.179.1/24   trust

3)修改參數配置文件 postgresql.conf

修改如下的幾個參數設置,端口還是保留默認的 5432

listen_addresses = *

port = 5432

wal_level = hot_standby

max_wal_senders = 2

wal_keep_segments = 32

wal_sender_timeout =60s

max_connections =100

這些步驟完成后,切記要重啟一下 PG 使得配置生效

4)重啟 PG

$ /usr/local/pgsql/bin/pg_ctl -D /data/pgsql9.5 -l logfile restart

3

3

配置備庫

備庫需要同樣的步驟來部署數據庫軟件,參考第一部分即可。

這個時候備庫上還沒有初始化數據,我們模擬客戶端的方式來訪問,可能會有如下的錯誤。

$ psql -Ureplica -h292.168.179.128 -p5432 –password

Password for user replica: 

psql: FATAL:  no pg_hba.conf entry for host 192.168.179.1 , user replica , database replica

1)使用 pg_basebackup 還原數據

先不必擔心,我們可以使用 pg_basebackup 或者命令行的方式來做備份恢復

$ pg_basebackup -F p –progress -D /data/pgsql9.5 -h 192.168.179.128 -p 5432 -U replica –password

Password: 

22484/22484 kB (100%), 1/1 tablespace

NOTICE:  WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup

2)配置恢復配置 recovery.conf

這個步驟是關鍵,和 Oracle 里面的歸檔參數或者和 MySQL 里的 change master 的設置類似。

recovery.conf 文件可以從模板里拿到:

cp /usr/local/pgsql/share/recovery.conf.sample  /data/pgsql9.5/recovery.conf

recovery.conf 文件的內容改動參考如下:

standby_mode = on

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

recovery_target_timeline = latest

trigger_file = /data/pgsql9.5/trigger_activestb

3)修改參數文件 postgresql.conf 的配置

postgresql.conf 文件的內容修改如下,配置和主庫差別較大,需要注意。

listen_addresses = *

port = 5432

wal_level = minimal

max_wal_senders = 0

wal_keep_segments = 0

max_connections = 1000

synchronous_commit = off

synchronous_standby_names =

hot_standby = on

max_standby_streaming_delay = 30

wal_receiver_status_interval = 1s

hot_standby_feedback = on

4)啟動 PG 備庫

$ /usr/local/pgsql/bin/pg_ctl -D /data/pgsql9.5 -l logfile start

5)查看復制狀態

可以在主庫端查看復制狀態,參考 pg_stat_replication 視圖,在查看的過程中,這個視圖字段較大,看起來會有些亂,我們可以使用類似 MySQL \G 的方式來查看,即 \x 的擴展模式。

postgres=# \x

Expanded display is on.

postgres=# select * from pg_stat_replication; 

-[RECORD 1]—-+——————————

pid              | 20539

usesysid         | 16384

usename          | replica

application_name | walreceiver

client_addr      | 192.168.179.1

client_hostname  | 

client_port      | 49374

backend_start    | 2018-03-25 05:19:15.215181+08

backend_xmin     | 1756

state            | streaming

sent_location    | 0/302F600

write_location   | 0/302F600

flush_location   | 0/302F600

replay_location  | 0/302F600

sync_priority    | 0

sync_state       | async

感謝各位的閱讀!關于“PostgreSQL 如何搭建主備環境”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計3424字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 三台县| 东方市| 泊头市| 灵璧县| 玛多县| 辽中县| 沾益县| 壤塘县| 蒲江县| 夏津县| 凉山| 大荔县| 于都县| 镇宁| 江源县| 武汉市| 长子县| 永兴县| 昭苏县| 池州市| 金川县| 绥阳县| 苏州市| 巴东县| 墨脱县| 皋兰县| 高雄市| 黑龙江省| 安化县| 达孜县| 清苑县| 崇礼县| 蓝田县| 柏乡县| 丰镇市| 晋宁县| 澄迈县| 朝阳区| 札达县| 资兴市| 宁蒗|