真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PostgreSQL如何搭建主備環(huán)境

這篇文章給大家分享的是有關(guān)PostgreSQL如何搭建主備環(huán)境的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),疏勒企業(yè)網(wǎng)站建設(shè),疏勒品牌網(wǎng)站建設(shè),網(wǎng)站定制,疏勒網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,疏勒網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

安裝部署數(shù)據(jù)庫軟件

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

1)解壓

tar -zxvf  postgresql-9.5.0.tar.gz

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

cd postgresql-9.5.0

./configure -prefix /usr/local/pgsql

這個(gè)過程很可能有問題,比如下面的錯(cuò)誤。

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.

類似的錯(cuò)誤還有readline,實(shí)際的情況zlib包和readline包都是有的。

這里需要注意一點(diǎn):

redhat 系列下這個(gè)軟件包叫  readline-devel     ubuntu 下叫readline-dev    細(xì)分又分為libreadline5-dev   和 libreadline6-dev

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

接下來的步驟就簡(jiǎn)單了。

3)開始編譯安裝

這兩個(gè)過程耗時(shí)相對(duì)會(huì)多一些,大概幾分鐘吧,比MySQL的源碼編譯要快很多。

make

make install

4)創(chuàng)建用戶和組

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

至此,數(shù)據(jù)庫軟件部署就搞定了,在這里我們只做了功能,還沒有涉及性能層面的調(diào)整和優(yōu)化。

2

3

配置主庫

使用的環(huán)境是兩臺(tái)服務(wù)器

192.168.179.128  主庫

192.168.253.134  備庫

1)創(chuàng)建一個(gè)復(fù)制角色

CREATE ROLE replica login replication encrypted password 'replica';

2)配置訪問權(quán)限文件gp_hba.conf

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

host   replication  replica   192.168.253.134/24   trust

因?yàn)槭强缇W(wǎng)段,我額外補(bǔ)充了一條網(wǎng)關(guān)的記錄

host   replication  replica   192.168.179.1/24   trust

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

修改如下的幾個(gè)參數(shù)設(shè)置,端口還是保留默認(rèn)的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

配置備庫

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

這個(gè)時(shí)候備庫上還沒有初始化數(shù)據(jù),我們模擬客戶端的方式來訪問,可能會(huì)有如下的錯(cuò)誤。

$ 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還原數(shù)據(jù)

先不必?fù)?dān)心,我們可以使用pg_basebackup或者命令行的方式來做備份恢復(fù)

$ 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)配置恢復(fù)配置recovery.conf

這個(gè)步驟是關(guān)鍵,和Oracle里面的歸檔參數(shù)或者和MySQL里的change master的設(shè)置類似。

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

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

recovery.conf文件的內(nèi)容改動(dòng)參考如下:

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)修改參數(shù)文件postgresql.conf的配置

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

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)啟動(dòng)PG備庫

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


5)查看復(fù)制狀態(tài)

可以在主庫端查看復(fù)制狀態(tài),參考pg_stat_replication視圖,在查看的過程中,這個(gè)視圖字段較大,看起來會(huì)有些亂,我們可以使用類似MySQL \G的方式來查看,即\x的擴(kuò)展模式。

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

感謝各位的閱讀!關(guān)于“PostgreSQL如何搭建主備環(huán)境”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)站欄目:PostgreSQL如何搭建主備環(huán)境
文章源于:http://weahome.cn/article/gigsod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部