postgresql運維之遠程遷移操作
背景:高可用架構版本。
主備分別部署在機器A和B上,現(xiàn)在要將其分別遷移到機器C和D上。
思路:
1、首先根據(jù)源實例的備份(云盤上可用snapshot),創(chuàng)建一個mirror實例,mirror包含兩個節(jié)點,分別部署在C和D上。
2、在源實例主節(jié)點hba.conf中增加mirror主節(jié)點的ip的設置,允許源實例主節(jié)點接受來自mirror主節(jié)點的連接。
3、mirror實例主節(jié)點,創(chuàng)建recovery.conf文件,設置primary_conninfo指向源主節(jié)點。啟動mirror主節(jié)點,建立源實例主到mirror實例主節(jié)點的復制關系。
4、在mirror實例主節(jié)點hba.conf中增加mirror備節(jié)點的ip。允許mirror主節(jié)點接受來自mirror備節(jié)點的連接。
5、mirror實例備節(jié)點,創(chuàng)建recovery.conf文件,設置primary_conn指向mirror實例主節(jié)點。啟動備節(jié)點,建立mirror實例主節(jié)點到mirror實例備節(jié)點的復制關系。
6、提升mirror實例主節(jié)點為cluster master。
postgresql 備提升為主的方式:
pg_ctl方法:在備庫主機執(zhí)行pg_ctl promote shell腳本
觸發(fā)器文件方式:備庫配置recover.conf文件的trigger_file參數(shù),之后在備庫主機上創(chuàng)建觸發(fā)器文件。
補充:Postgresql遷移數(shù)據(jù)文件存放位置
1. POSTGRESQL的安裝
centos7 里面默認的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
安裝成功后進行安裝
yum install postgresql11 yum install postgresql11-server
然后啟動并且設置為開機啟動
systemctl enable postgresql-11 systemctl start postgresql-11
啟動之后進行數(shù)據(jù)庫初始化
11 以上的系統(tǒng) 還是比較簡單的 直接執(zhí)行
postgresql-setup initdb 就可以初始化數(shù)據(jù)庫
設置密碼等工作
su - postgres
登錄數(shù)據(jù)庫
psql -U postgres
修改密碼
ALTER USER postgres WITH PASSWORD 'Test6530' 設置密碼
\q退出數(shù)據(jù)庫
2. 修改數(shù)據(jù)庫使之能夠被遠程鏈接
數(shù)據(jù)庫的配置文件默認為:
查看服務狀態(tài)可得
進入 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.關閉pgsql
systemctl stop postgresql-11
5. 復制原來的文件
cp -R /var/lib/pgsql/11/data/* /home/pgdata
6.修改權限
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īng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
Linux系統(tǒng)安裝PostgreSQL數(shù)據(jù)庫及配置的詳細過程
這篇文章主要給大家介紹了關于Linux系統(tǒng)安裝PostgreSQL數(shù)據(jù)庫及配置的詳細過程,PgSQL(全稱PostgreSQL)是一個功能強大的開源對象-關系型數(shù)據(jù)庫系統(tǒng),結合了許多安全存儲和擴展最復雜數(shù)據(jù)工作負載的功能,需要的朋友可以參考下2023-12-12PostgreSQL基于Citus實現(xiàn)分布式集群的全過程
Citus是一個PostgreSQL擴展,它將Postgres轉換為分布式數(shù)據(jù)庫,因此您可以在任何規(guī)模上實現(xiàn)高性能,因客戶的需求,本文詳細闡述了PostgreSQL基于Citus實現(xiàn)的分布式集群的全過程,需要的朋友可以參考下2023-11-11使用python-slim鏡像遇到無法使用PostgreSQL的問題及解決方法
這篇文章主要介紹了使用python-slim鏡像遇到無法使用PostgreSQL的問題及解決方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-08-08postgresql兼容MySQL on update current_timestamp
這篇文章主要介紹了postgresql兼容MySQL on update current_timestamp問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03