postgresql運(yùn)維之遠(yuǎn)程遷移操作
背景:高可用架構(gòu)版本。
主備分別部署在機(jī)器A和B上,現(xiàn)在要將其分別遷移到機(jī)器C和D上。
思路:
1、首先根據(jù)源實(shí)例的備份(云盤上可用snapshot),創(chuàng)建一個(gè)mirror實(shí)例,mirror包含兩個(gè)節(jié)點(diǎn),分別部署在C和D上。
2、在源實(shí)例主節(jié)點(diǎn)hba.conf中增加mirror主節(jié)點(diǎn)的ip的設(shè)置,允許源實(shí)例主節(jié)點(diǎn)接受來自mirror主節(jié)點(diǎn)的連接。
3、mirror實(shí)例主節(jié)點(diǎn),創(chuàng)建recovery.conf文件,設(shè)置primary_conninfo指向源主節(jié)點(diǎn)。啟動(dòng)mirror主節(jié)點(diǎn),建立源實(shí)例主到mirror實(shí)例主節(jié)點(diǎn)的復(fù)制關(guān)系。
4、在mirror實(shí)例主節(jié)點(diǎn)hba.conf中增加mirror備節(jié)點(diǎn)的ip。允許mirror主節(jié)點(diǎn)接受來自mirror備節(jié)點(diǎn)的連接。
5、mirror實(shí)例備節(jié)點(diǎn),創(chuàng)建recovery.conf文件,設(shè)置primary_conn指向mirror實(shí)例主節(jié)點(diǎn)。啟動(dòng)備節(jié)點(diǎn),建立mirror實(shí)例主節(jié)點(diǎn)到mirror實(shí)例備節(jié)點(diǎn)的復(fù)制關(guān)系。
6、提升mirror實(shí)例主節(jié)點(diǎn)為cluster master。
postgresql 備提升為主的方式:
pg_ctl方法:在備庫主機(jī)執(zhí)行pg_ctl promote shell腳本
觸發(fā)器文件方式:備庫配置recover.conf文件的trigger_file參數(shù),之后在備庫主機(jī)上創(chuàng)建觸發(fā)器文件。
補(bǔ)充:Postgresql遷移數(shù)據(jù)文件存放位置
1. POSTGRESQL的安裝
centos7 里面默認(rèn)的pgsql的版本是 9.2.4 如果想用更高的版本需要執(zhí)行以下如下的命令
rpm -ivh https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
安裝成功后進(jìn)行安裝
yum install postgresql11 yum install postgresql11-server
然后啟動(dòng)并且設(shè)置為開機(jī)啟動(dòng)
systemctl enable postgresql-11 systemctl start postgresql-11
啟動(dòng)之后進(jìn)行數(shù)據(jù)庫初始化
11 以上的系統(tǒng) 還是比較簡(jiǎn)單的 直接執(zhí)行
postgresql-setup initdb 就可以初始化數(shù)據(jù)庫
設(shè)置密碼等工作
su - postgres
登錄數(shù)據(jù)庫
psql -U postgres
修改密碼
ALTER USER postgres WITH PASSWORD 'Test6530' 設(shè)置密碼
\q退出數(shù)據(jù)庫
2. 修改數(shù)據(jù)庫使之能夠被遠(yuǎn)程鏈接
數(shù)據(jù)庫的配置文件默認(rèn)為:
查看服務(wù)狀態(tài)可得
進(jìn)入 data目錄
/var/lib/pgsql/11/data/ /usr/lib/systemd/system/postgresql-11.service cd /var/lib/pgsql/11/data/
修改pg_hba.conf 即可
3. 創(chuàng)建新的數(shù)據(jù)目錄
mkdir /home/pgdata
4.關(guān)閉pgsql
systemctl stop postgresql-11
5. 復(fù)制原來的文件
cp -R /var/lib/pgsql/11/data/* /home/pgdata
6.修改權(quán)限
chown -R postgres:postgres /home/pgdata chmod 750 /home/pgdata -R
7. 修改systemd 里面的配置文件
vim /usr/lib/systemd/system/postgresql-11.service
修改PGDATA的指向
8.執(zhí)行命令重啟
systemctl daemon-reload systemctl start postgresql-11
9. 刪除原始PGDATA 里面的內(nèi)容 重啟虛擬機(jī)驗(yàn)證。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Navicat連接postgresql時(shí)出現(xiàn)'datlastsysoid?does?not?exist&
這篇文章主要給大家介紹了關(guān)于Navicat連接postgresql時(shí)出現(xiàn)'datlastsysoid?does?not?exist'報(bào)錯(cuò)問題的完美解決辦法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02PostgreSQL判斷字符串是否包含目標(biāo)字符串的多種方法
這篇文章主要介紹了PostgreSQL判斷字符串是否包含目標(biāo)字符串的多種方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02PostgreSQL因大量并發(fā)插入導(dǎo)致的主鍵沖突的解決方案
在數(shù)據(jù)庫操作中,并發(fā)插入是一個(gè)常見的場(chǎng)景,然而,當(dāng)大量并發(fā)插入操作同時(shí)進(jìn)行時(shí),可能會(huì)遇到主鍵沖突的問題,本文將深入探討 PostgreSQL 中解決因大量并發(fā)插入導(dǎo)致的主鍵沖突的方法,并通過具體的示例進(jìn)行詳細(xì)說明,需要的朋友可以參考下2024-07-07使用PostgreSQL為表或視圖創(chuàng)建備注的操作
這篇文章主要介紹了使用PostgreSQL為表或視圖創(chuàng)建備注的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01Mysql?8.0.33?如何遷移至?Postgresql?16.2
由于云平臺(tái)需要改造,將Mysql替換成Postgresql,話說回來,Postgresql和Mysql語法有些差異,如何穩(wěn)妥的進(jìn)行遷移,下面給大家分享Mysql?8.0.33?如何遷移至?Postgresql?16.2,感興趣的朋友跟隨小編一起看看吧2024-05-05postgresql運(yùn)維之遠(yuǎn)程遷移操作
這篇文章主要介紹了postgresql運(yùn)維之遠(yuǎn)程遷移操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql pg_hba.conf 簡(jiǎn)介及配置詳解
配置文件之pg_hba.conf該文件用于控制訪問安全性,管理客戶端對(duì)于PostgreSQL服務(wù)器的訪問權(quán)限,本文給大家介紹postgresql pg_hba.conf 簡(jiǎn)介及配置,感興趣的朋友跟隨小編一起看看吧2024-03-03Postgresql限制用戶登錄錯(cuò)誤次數(shù)的實(shí)例代碼
這篇文章主要介紹了Postgresql限制用戶登錄錯(cuò)誤次數(shù)的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03