centos7搭建postgresql12主從

主從搭建

192.168.159.101 node1 主庫(讀寫)
192.168.159.102 node2 備庫(只讀)
兩臺機器首先安裝postgrsql

主庫

postgres用戶操作:

修改postgresql.conf

# 在文件中修改(此配置僅用于遠程訪問, 流復制后續還有額外配置):
listen_addresses = '*'
port = 15432
max_connections = 1500       # 最大連接數,據說從機需要大于或等于該值
wal_level = replica
max_wal_senders = 2   		#最多有2個流復制連接
wal_keep_segments = 16  	
wal_sender_timeout = 60s	#流復制超時時間# 開啟歸檔
....

修改pg_hba.conf,添加如下:

# 追加
# replica為postgres用戶
# XX.XX.XX.XX為從節點的完整IP,如果為網段配置就不是32了,md5為允許密碼驗證,trust為免密
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    replication     replica         192.168.159.102/32          trust
# 需要遠程訪問,記得加(還有一個監聽,在后面配置)
# 0.0.0.0/0為任意IP
host    all             all             0.0.0.0/0               md5

root用戶操作:

#授權
chown -R postgres:postgres /var/run/postgresql/
chown -R postgres:postgres /home/postgres/pgdata/

postgres用戶操作:

#啟動
pg_ctl start

創建流復制用戶

#切換用戶
su - postgres
# 連接pgsql
psql -h 192.168.159.101 -p 15432
#執行sql
create role replica login replication encrypted password '123456';
SELECT rolname from pg_roles;

從庫

root用戶操作

chown -R postgres:postgres /var/run/postgresql/
chown -R postgres:postgres /home/postgres/pgdata/

從主庫復制數據文件到本地

# 先清空原有數據文件(如非空)
rm -rf /home/postgres/pgdata/*
# 執行復制,ip為主庫ip
pg_basebackup -h 192.168.159.101 -p 15432 -U replica -Fp -Xs -Pv -R -D /home/postgres/pgdata# 輸入主庫中創建的replica用戶密碼后,開始同步

在這里插入圖片描述

更改/home/postgres/pgdata目錄權限為700

chmod -R 700 /home/postgres/pgdata/

postgres用戶操作:

#啟動
pg_ctl start

驗證:

主庫執行:

# 查看當前復制會話
select * from pg_stat_replication;

在這里插入圖片描述

#如果返回t說明是備庫,返回f說明是主庫
select pg_is_in_recovery();

在這里插入圖片描述

從庫執行:

在這里插入圖片描述

主庫創建表:

CREATE TABLE "user" ("id" int4 NOT NULL,"name" varchar(255) COLLATE "pg_catalog"."default","age" int4
);

查看從庫:

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74207.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

嵌入式基礎知識學習:SPI通信協議是什么?

SPI(Serial Peripheral Interface)是串行外設接口的縮寫,是一種廣泛應用于嵌入式系統的高速同步串行通信協議,由摩托羅拉公司于20世紀80年代提出。以下是其核心要點: 一、SPI的核心定義與特點 基本特性 全雙工同步通信…

996引擎-接口測試:背包

996引擎-接口測試:背包 背包測試NPC參考資料背包測試NPC CONSTANT = require("Envir/QuestDiary/constant/CONSTANT.lua"); MsgUtil = require("Envir/QuestDiary/utils/996/MsgUtil.lua");

vulnhub靶場之【hack-me-please靶機】

前言 靶機:billu_b0x2靶機,IP地址為192.168.10.8 攻擊:kali,IP地址為192.168.10.6 靶機和攻擊機都采用VMware虛擬機,都采用橋接網卡模式 文章涉及的靶機及工具,都可以自行訪問官網或者項目地址進行獲取&…

機器學習——KNN模型評價

一、主要函數 sklearn.metrics.accuracy_score() 是 scikit-learn 中用于計算分類模型準確率的函數,適用于評估分類任務的整體性能。 1、核心功能 作用:計算模型預測的準確率,即正確分類的樣本數占總樣本數的比例。公式:Accurac…

美國國家數據浮標中心(NDBC)

No.大劍師精品GIS教程推薦0地圖渲染基礎- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】 1Openlayers 【入門教程】 - 【源代碼示例 300】 2Leaflet 【入門教程】 - 【源代碼圖文示例 150】 3MapboxGL【入門教程】 - 【源代碼圖文示例150】 4Cesium 【入門教程】…

Qt調用Miniconda的python方法

1、 Win 64環境下載及安裝 Miniconda 首先下載Windows 版Miniconda,https://docs.conda.io/en/latest/miniconda.html或 https://repo.anaconda.com/miniconda/ 安裝界面及選擇如下圖所示: 安裝完python3.12版報錯如下。 說明:python3.11版…

Unity 與 JavaScript 的通信交互:實現跨平臺的雙向通信

前言 在現代游戲開發和 Web 應用中,Unity 和 JavaScript 的結合越來越常見。Unity 是一個強大的跨平臺游戲引擎,而 JavaScript 是 Web 開發的核心技術之一。通過 Unity 和 JavaScript 的通信交互,開發者可以實現從 Unity 到 Web 頁面的功能擴…

汽車免拆診斷案例 | 2024 款路虎發現運動版車無法正常識別智能鑰匙

故障現象  一輛2024款路虎發現運動版車,搭載2.0 L發動機,累計行駛里程約為5 000 km。車主反映,使用遙控器無法解鎖車門,隨后使用機械鑰匙打開車門,踩下制動踏板,按壓起動按鈕,儀表盤提示“將智…

跟著StatQuest學知識06-CNN進行圖像分類

目錄 一、CNN特點 二、CNN應用于圖像分類 (一)使用過濾器 (二)通過ReLU激活函數 (三)應用新的濾波器(池化) (四)輸入 (五)輸出…

OpenHarmony 開源鴻蒙北向開發——linux使用make交叉編譯第三方庫

這幾天搞鴻蒙,需要編譯一些第三方庫到鴻蒙系統使用。 頭疼死了,搞了一個多星期總算搞定了。 開貼記坑。 一、SDK下載 1.下載 在linux下使用命令 wget https://cidownload.openharmony.cn/version/Master_Version/OpenHarmony_5.1.0.54/20250313_02…

Selenium Web UI自動化測試:從入門到實戰

引言 在當今快速迭代的軟件開發周期中,自動化測試已成為保障產品質量、提升測試效率的核心手段之一。而針對Web應用的UI自動化測試,Selenium作為最流行的開源工具之一,憑借其跨瀏覽器、多語言支持(Python、Java、C#等&#xff09…

Java 大視界 -- Java 大數據中的數據隱私保護技術在多方數據協作中的應用(147)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

編程考古-安德斯·海爾斯伯格(Anders Hejlsberg)回答離開Borland的原因

安德斯海爾斯伯格(Anders Hejlsberg)是著名的編程語言和工具開發者,曾主導開發了 Turbo Pascal、Delphi(Borland 時期),以及加入微軟后參與的 C# 和 TypeScript。關于他離開 Borland 的原因,可以…

西門子仿真實例位置

C:\Users\san\Documents\Siemens\Simatic\Simulation\Runtime\Persistence S7-PLCSIM Advanced V3.0 可以打開文件,刪除重建

【數據庫系統原理】Ch7 數據庫應用設計與開發實例

目錄 大綱7.1 需求描述與分析7.2 系統設計7.3 系統實現7.4 系統測試與維護 習題真題2024-102024-042023-102023-042022-10 大綱 7.1 需求描述與分析 熟悉需求描述與分析的方法,達到"領會"層次。 7.2 系統設計 熟悉根據需求的描述劃分系統的功能模塊,能夠進行初步…

使用 Python 的turtle庫繪制精美圖形

在 Python 編程的世界里,turtle庫是一個非常有趣且實用的工具,它為初學者和有經驗的開發者提供了一個簡單而直觀的方式來進行圖形繪制。本文將詳細講解如何使用turtle庫繪制不同的圖形,包括六邊形、一個特定的多邊形,以及一個由線…

基于linux平臺的C語言入門教程(5)基本數據類型

文章目錄 1. 什么是數據類型?2. C 語言的基本數據類型3. 數據類型的存儲大小4. 示例代碼代碼解析:輸出結果: 5. 常見問題問題 1:float 和 double 的區別是什么?問題 2:unsigned 類型可以存儲負數嗎&#xf…

Bellman_ford 算法——解決負權邊最短路徑問題

卡碼網:94. 城市間貨物運輸 I 94. 城市間貨物運輸 I 題目描述 某國為促進城市間經濟交流,決定對貨物運輸提供補貼。共有 n 個編號為 1 到 n 的城市,通過道路網絡連接,網絡中的道路僅允許從某個城市單向通行到另一個城市,不能反向通行。 網絡中的道路都有各自的運輸成本…

mysql——第二課

學生表 CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,sex varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,age int(11) DEFAULT NULL,c_id int(10) DEFAULT NULL,PRIMARY KEY (id),KEY c_id (c_id),CONSTR…

圖解 ThreadLocal

在 Java 多線程編程的世界里,ThreadLocal 是一個非常實用的工具,它為每個線程提供了獨立的變量副本,避免了多線程環境下的變量共享問題。今天,我們就從內存視角出發,通過一張圖來深入理解 ThreadLocal 的工作原理&…