PostgreSQL主從搭建的實(shí)現(xiàn)步驟
準(zhǔn)備工作
我部署的服務(wù)器是一主一從
1、準(zhǔn)備兩臺(tái)服務(wù)器系統(tǒng)都是是Debain
| 主機(jī)地址 | 系統(tǒng)環(huán)境 | 數(shù)據(jù)庫 | 主從 |
|---|---|---|---|
| 192.168.137.129 | Deabin 11.4 | PostgreSQL 14.5 | 主庫 |
| 192.168.137.137 | Deabin 11.4 | PostgreSQL 14.5 | 從庫 |
主服務(wù)器
1、安裝postgresql
2、修改postgres密碼
3、創(chuàng)建流復(fù)制賬戶
4、配置postgres.conf與pg_hba.conf
5、重啟PG數(shù)據(jù)庫
一、安裝postgresql
官網(wǎng)鏈接:https://www.postgresql.org/download/linux/debian/
1、 創(chuàng)建文件存儲(chǔ)庫配置: 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ǔ)庫簽名密鑰: 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ù)庫)|這里只是一種方式,還有其他方式進(jìn)入數(shù)據(jù)庫| postgres=# /password(開始輸入密碼)
如圖所示:

三、創(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)入以下頁面:

# 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)入以下頁面:

修改配置如上圖一樣
五、重啟PG數(shù)據(jù)庫
systemctl restart postgresql
從服務(wù)器
1、安裝postgresql
2、復(fù)制數(shù)據(jù)庫目錄
3、刪除目錄
4、基礎(chǔ)備份
從服務(wù)器中的數(shù)據(jù)庫配置不需要進(jìn)行改動(dòng),要不然可能出現(xiàn)搭建的主從失敗
一、安裝
官網(wǎng)鏈接:https://www.postgresql.org/download/linux/debian/
1、 創(chuàng)建文件存儲(chǔ)庫配置: 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ǔ)庫簽名密鑰: 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ù)庫目錄
root@localhost:~# systemctl stop postgresql (停庫) root@localhost:~# su - postgres postgres@localhost:~$ cd 14 postgres@root:~/14$ cp -R main /var/lib/postgresql/main.bak (為了防止出現(xiàn)失誤可以先備份)
三、刪除數(shù)據(jù)庫目錄
進(jìn)入數(shù)據(jù)庫目錄的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 (開始基礎(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 –在開始備份之前,允許創(chuàng)建由-S選項(xiàng)命名的復(fù)制插槽。 -S –指定復(fù)制插槽名稱。
進(jìn)入數(shù)據(jù)庫目錄里查看有沒有生成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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- PostgreSQL流復(fù)制(主從復(fù)制)詳細(xì)教程
- postgresql數(shù)據(jù)庫主從恢復(fù)的實(shí)現(xiàn)
- 在docker上部署postgreSQL主從的超詳細(xì)步驟
- 利用Docker部署PostgreSQL 12.4主從方式
- postgresql13主從搭建Ubuntu
- CentOS PostgreSQL 12 主從復(fù)制(主從切換)操作
- postgresql數(shù)據(jù)庫安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過程(業(yè)務(wù)庫)
- Postgresql 檢查數(shù)據(jù)庫主從復(fù)制進(jìn)度的操作
- Postgresql主從異步流復(fù)制方案的深入探究
- PostgreSQL 主從集群搭建
相關(guān)文章
Postgresql psql文件執(zhí)行與批處理多個(gè)sql文件操作
這篇文章主要介紹了Postgresql psql文件執(zhí)行與批處理多個(gè)sql文件操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日
這篇文章主要給大家介紹了關(guān)于使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日的相關(guān)資料,在PostgreSQL中可以使用函數(shù) NOW() 來查詢當(dāng)前時(shí)間,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
PostgreSQL WHERE 子句的實(shí)現(xiàn)示例
WHERE子句是PostgreSQL中用于過濾數(shù)據(jù)的核心語法元素,它允許我們指定條件來限制查詢返回的行,本文就來詳細(xì)的介紹一下PostgreSQL WHERE 子句的實(shí)現(xiàn)示例,感興趣的可以了解一下2025-11-11
用一整天的時(shí)間安裝postgreSQL NTFS權(quán)限
看標(biāo)題貌似一天的收獲不小,但實(shí)際上是被一個(gè)問題搞的要死,啥問題?額,又是NTFS權(quán)限的問題。2009-08-08
PostgreSQL中調(diào)用存儲(chǔ)過程并返回?cái)?shù)據(jù)集實(shí)例
這篇文章主要介紹了PostgreSQL中調(diào)用存儲(chǔ)過程并返回?cái)?shù)據(jù)集實(shí)例,本文給出一創(chuàng)建數(shù)據(jù)表、插入測試數(shù)據(jù)、創(chuàng)建存儲(chǔ)過程、調(diào)用創(chuàng)建存儲(chǔ)過程和運(yùn)行效果完整例子,需要的朋友可以參考下2015-01-01
PostgreSQL進(jìn)行重置密碼的方法小結(jié)
今天想測試一個(gè)PostgresSQL語法的 SQL,但是打開PostgresSQL之后沉默了,密碼是什么?日長月久的,漸漸就忘記了,于是開始了尋找密碼的道路,所以本文介紹了Postgresql忘記密碼,如何重置密碼,需要的朋友可以參考下2024-05-05
pg中replace和translate的用法說明(數(shù)據(jù)少的中文排序)
這篇文章主要介紹了pg中replace和translate的用法說明(數(shù)據(jù)少的中文排序),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL之分區(qū)表(partitioning)
通過合理的設(shè)計(jì),可以將選擇一定的規(guī)則,將大表切分多個(gè)不重不漏的子表,這就是傳說中的partitioning。比如,我們可以按時(shí)間切分,每天一張子表,比如我們可以按照某其他字段分割,總之了就是化整為零,提高查詢的效能2016-11-11

