PostgreSQL主從搭建的實(shí)現(xiàn)步驟
準(zhǔn)備工作
我部署的服務(wù)器是一主一從
1、準(zhǔn)備兩臺(tái)服務(wù)器系統(tǒng)都是是Debain
| 主機(jī)地址 | 系統(tǒng)環(huán)境 | 數(shù)據(jù)庫(kù) | 主從 |
|---|---|---|---|
| 192.168.137.129 | Deabin 11.4 | PostgreSQL 14.5 | 主庫(kù) |
| 192.168.137.137 | Deabin 11.4 | PostgreSQL 14.5 | 從庫(kù) |
主服務(wù)器
1、安裝postgresql
2、修改postgres密碼
3、創(chuàng)建流復(fù)制賬戶
4、配置postgres.conf與pg_hba.conf
5、重啟PG數(shù)據(jù)庫(kù)
一、安裝postgresql
官網(wǎng)鏈接:https://www.postgresql.org/download/linux/debian/
1、 創(chuàng)建文件存儲(chǔ)庫(kù)配置: sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' 2、 導(dǎo)入存儲(chǔ)庫(kù)簽名密鑰: wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 3、 更新包列表: sudo apt-get update 4 安裝最新版本的 PostgreSQL。 sudo apt-get -y install postgresql
二、修改postgres密碼
root@localhost:~# su - postgres (進(jìn)入postgres用戶) postgres@localhost: psql(進(jìn)入數(shù)據(jù)庫(kù))|這里只是一種方式,還有其他方式進(jìn)入數(shù)據(jù)庫(kù)| postgres=# /password(開(kāi)始輸入密碼)
如圖所示:

三、創(chuàng)建流復(fù)制賬戶
root@localhost:~# su - postgres postgres@localhost: psql postgres=# create user replica login replication encryoted password 'replica';(創(chuàng)建replica用戶,encryoted:加密的方式登陸) CREATE ROLE postgres=# \du (查看用戶,)
如圖所示:

如果顯示與圖片相等,就證明創(chuàng)建成功了
四、配置postgres.conf與pg_hba.conf
postgres.conf的配置
我的配置文件安裝是默認(rèn)的在: /etc/postgresql/14/main
root@localhost: vim /etc/postgresql/14/main/postgres.conf
進(jìn)入以下頁(yè)面:

# listen_address ='localhost' 修改成 listen_address='*' # wal_level= replica 修改成 wal_level = replica # max_wal_senders = 10 修改成 max_wal_senders = 10 # 這里默認(rèn)可以不用修改 # synchronous_commit = on 修改成 synchronous_commit = on
pg_hba.conf的配置
我的配置文件安裝是默認(rèn)的在: /etc/postgresql/14/main
root@localhost: vim /etc/postgresql/14/main/pg_hba.conf
進(jìn)入以下頁(yè)面:

修改配置如上圖一樣
五、重啟PG數(shù)據(jù)庫(kù)
systemctl restart postgresql
從服務(wù)器
1、安裝postgresql
2、復(fù)制數(shù)據(jù)庫(kù)目錄
3、刪除目錄
4、基礎(chǔ)備份
從服務(wù)器中的數(shù)據(jù)庫(kù)配置不需要進(jìn)行改動(dòng),要不然可能出現(xiàn)搭建的主從失敗
一、安裝
官網(wǎng)鏈接:https://www.postgresql.org/download/linux/debian/
1、 創(chuàng)建文件存儲(chǔ)庫(kù)配置: sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' 2、 導(dǎo)入存儲(chǔ)庫(kù)簽名密鑰: wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 3、 更新包列表: sudo apt-get update 4 安裝最新版本的 PostgreSQL。 sudo apt-get -y install postgresql
二、復(fù)制數(shù)據(jù)庫(kù)目錄
root@localhost:~# systemctl stop postgresql (停庫(kù)) root@localhost:~# su - postgres postgres@localhost:~$ cd 14 postgres@root:~/14$ cp -R main /var/lib/postgresql/main.bak (為了防止出現(xiàn)失誤可以先備份)
三、刪除數(shù)據(jù)庫(kù)目錄
進(jìn)入數(shù)據(jù)庫(kù)目錄的main文件夾使用rm -rf * 刪除main文件夾里的所有文件 postgres@root:~/14/main$ rm -rf * (這里只是其中的一種用法)
四、基礎(chǔ)備份
一定要進(jìn)入到postgres用戶里面如: postgres@localhost:~$ pg_backbaseup -h 192.168.137.129 -D /var/lib/postgresql/14/main -U replica -P -v -R -X stream -C -S pgstandby (開(kāi)始基礎(chǔ)備份) 輸入密碼:replica
-h –指定作為主服務(wù)器的主機(jī)。 -D –指定數(shù)據(jù)目錄。 -U –指定連接用戶。 -P –啟用進(jìn)度報(bào)告。 -v –啟用詳細(xì)模式。 -R–啟用恢復(fù)配置的創(chuàng)建:創(chuàng)建一個(gè)standby.signal文件,并將連接設(shè)置附加到數(shù)據(jù)目錄下的postgresql.auto.conf。 -X–用于在備份中包括所需的預(yù)寫日志文件(WAL文件)。流的值表示在創(chuàng)建備份時(shí)流式傳輸WAL。 -C –在開(kāi)始備份之前,允許創(chuàng)建由-S選項(xiàng)命名的復(fù)制插槽。 -S –指定復(fù)制插槽名稱。
進(jìn)入數(shù)據(jù)庫(kù)目錄里查看有沒(méi)有生成standby.signal。
啟動(dòng)從服務(wù)器
systemctl start postgres
搭建成功
查看復(fù)制槽

查看主服務(wù)器節(jié)點(diǎn)信息

查看從節(jié)點(diǎn)信息

查看主服務(wù)器傳輸

注意看有IP地址的哪一行,如果有就證明成功了;
到此這篇關(guān)于PostgreSQL主從搭建的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)PostgreSQL主從搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PostgreSQL如何查看事務(wù)所占有的鎖實(shí)操指南
這篇文章主要給大家介紹了關(guān)于PostgreSQL如何查看事務(wù)所占有鎖的相關(guān)資料,文中通過(guò)代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PostgreSQL具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10
PostgreSQL進(jìn)行重置密碼的方法小結(jié)
今天想測(cè)試一個(gè)PostgresSQL語(yǔ)法的 SQL,但是打開(kāi)PostgresSQL之后沉默了,密碼是什么?日長(zhǎng)月久的,漸漸就忘記了,于是開(kāi)始了尋找密碼的道路,所以本文介紹了Postgresql忘記密碼,如何重置密碼,需要的朋友可以參考下2024-05-05
PostgreSQL圖(graph)的遞歸查詢實(shí)例
這篇文章主要給大家介紹了關(guān)于PostgreSQL圖(graph)的遞歸查詢的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PostgreSQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
PostgreSQL 實(shí)現(xiàn)distinct關(guān)鍵字給單獨(dú)的幾列去重
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)distinct關(guān)鍵字給單獨(dú)的幾列去重,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
Postgresql psql文件執(zhí)行與批處理多個(gè)sql文件操作
這篇文章主要介紹了Postgresql psql文件執(zhí)行與批處理多個(gè)sql文件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
Postgresql和mysql的區(qū)別及說(shuō)明
這篇文章主要介紹了Postgresql和mysql的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃圖文詳解
了解PostgreSQL執(zhí)行計(jì)劃對(duì)于程序員來(lái)說(shuō)是一項(xiàng)關(guān)鍵技能,執(zhí)行計(jì)劃是我們優(yōu)化查詢,驗(yàn)證我們的優(yōu)化查詢是否確實(shí)按照我們期望的方式運(yùn)行的重要方式,這篇文章主要給大家介紹了關(guān)于postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃的相關(guān)資料,需要的朋友可以參考下2024-01-01
Postgres 創(chuàng)建Role并賦予權(quán)限的操作
這篇文章主要介紹了 Postgres 創(chuàng)建Role并賦予權(quán)限的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01

