目錄
- 一 業(yè)務(wù)數(shù)據(jù)庫(kù)搭建
- 1. 安裝 yum源(服務(wù)器可訪(fǎng)問(wèn)互聯(lián)網(wǎng)時(shí)用)
- 2. 安裝客戶(hù)端
- 3. 安裝服務(wù)端
- 4. 初始化數(shù)據(jù)庫(kù)
- 5. 修改服務(wù)啟動(dòng)腳本
- 6. 修改數(shù)據(jù)庫(kù)配置
- 7. 開(kāi)啟防火墻端口
- 8. 啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)
- 9. 修改數(shù)據(jù)庫(kù)postgres用戶(hù)密碼
- 二 主從熱備配置
- 1. 創(chuàng)建熱備用戶(hù)
- 2. 進(jìn)入自行創(chuàng)建的數(shù)據(jù)目錄,修改 postgresql.conf 文件:
- 3. 修改數(shù)據(jù)目錄下的 pg_hda.conf 文件
- 4. 重啟主服務(wù)器的數(shù)據(jù)庫(kù)服務(wù)
- 5. 在主服務(wù)器和從服務(wù)器上檢查運(yùn)行是否正常
- 三 安裝插件
操作系統(tǒng)
64位CentOS 7
數(shù)據(jù)庫(kù)搭建
一 業(yè)務(wù)數(shù)據(jù)庫(kù)搭建
1. 安裝 yum源(服務(wù)器可訪(fǎng)問(wèn)互聯(lián)網(wǎng)時(shí)用)
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2. 安裝客戶(hù)端
yum install postgresql11 –y
3. 安裝服務(wù)端
yum install postgresql11-server -y
4. 初始化數(shù)據(jù)庫(kù)
使用yum安裝后,會(huì)在系統(tǒng)中創(chuàng)建一個(gè)postgres的無(wú)密碼用戶(hù)。在主節(jié)點(diǎn)服務(wù)器切換到此用戶(hù),然后創(chuàng)建一個(gè)數(shù)據(jù)目錄,該目錄將存放所有的配置文件、數(shù)據(jù)庫(kù)文件和日志文件。
root # mkdir -p /u01/apps/pgsql/data
root # chown -R postgres:postgres /u01/apps/pgsql/
PostgreSQL的安裝目錄默認(rèn)存放在/usr/pgsql-11,使用下面的命令初始化數(shù)據(jù)庫(kù)目錄:
使用postgres用戶(hù)執(zhí)行:錄
我放在
/usr/pgsql-11/bin/initdb -D 【數(shù)據(jù)目錄全路徑】
5. 修改服務(wù)啟動(dòng)腳本
使用root用戶(hù)修改 /usr/lib/systemd/system/postgresql-11.service 文件,將其中的PGDATA修改為新的數(shù)據(jù)目錄
vim /usr/lib/systemd/system/postgresql-11.service
![](/d/20211018/78728129f7c36a4465752e444028724a.gif)
6. 修改數(shù)據(jù)庫(kù)配置
使用postgres用戶(hù)進(jìn)入自行創(chuàng)建的數(shù)據(jù)目錄,修改 postgresql.conf 文件:
必須要修改listen_addresses、port、max_connections、log_timezone、timezone、datestyle。
![](/d/20211018/67c1369264a9cb3cec9b960b963fa259.gif)
![](/d/20211018/2938635ba56ea61501b740da460ce7da.gif)
![](/d/20211018/d7d8bc001e176d53a388455242b86e6e.gif)
修改數(shù)據(jù)目錄下的 pg_hda.conf 文件,添加允許連接到本數(shù)據(jù)庫(kù)的地址:
![](/d/20211018/87faf8fe99417f0923a67126ab46a8eb.gif)
7. 開(kāi)啟防火墻端口
firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --reload
8. 啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)
啟動(dòng)服務(wù):systemctl start postgresql-11
停止服務(wù):systemctl stop postgresql-11
重啟服務(wù):systemctl restart postgresql-11
9. 修改數(shù)據(jù)庫(kù)postgres用戶(hù)密碼
修改數(shù)據(jù)庫(kù)postgres用戶(hù)密碼,使用系統(tǒng)的postgres用戶(hù)進(jìn)入psql,執(zhí)行以下命令:
[root]# su - postgres
上一次登錄:二 12月 29 13:35:56 CST 2020pts/0 上
-bash-4.2$ psql
psql (11.5)
輸入 "help" 來(lái)獲取幫助信息.
postgres=# ALTER USER postgres ENCRYPTED PASSWORD '【密碼】';
**
二 主從熱備配置
**
1. 創(chuàng)建熱備用戶(hù)
啟動(dòng)數(shù)據(jù)庫(kù)服務(wù),切換至操作系統(tǒng)的postgres用戶(hù),運(yùn)行psql
在psql命令行中運(yùn)行下面的命令創(chuàng)建熱備用戶(hù),注意用戶(hù)名只能是小寫(xiě)字母:
CREATE USER 【用戶(hù)名】 REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '【密碼】';
2. 進(jìn)入自行創(chuàng)建的數(shù)據(jù)目錄,修改 postgresql.conf 文件:
除 之前 所做的修改外,還需要修改wal_level、max_wal_senders、wal_keep_segments、hot_standby:
![](/d/20211018/752f73204bc24218eaa46201dbbd6c96.gif)
![](/d/20211018/ebc8048ae7c46baaf0961c832e4808a6.gif)
![](/d/20211018/15a8957bdbef29fd3c1e574052a127e3.gif)
3. 修改數(shù)據(jù)目錄下的 pg_hda.conf 文件
需要添加replication的連接配置,注意此處應(yīng)限制為特定機(jī)器的連接,該配置的第三列配置為之前創(chuàng)建的熱備用戶(hù)
![](/d/20211018/68e141b9b1b4529a71b16f2604ab8db2.gif)
4. 重啟主服務(wù)器的數(shù)據(jù)庫(kù)服務(wù)
在從服務(wù)器上安裝PostgreSQL,僅需要?jiǎng)?chuàng)建數(shù)據(jù)目錄,不需要初始化數(shù)據(jù)庫(kù),使用下面的命令將主服務(wù)的數(shù)據(jù)文件同步至從服務(wù)器:
/usr/pgsql-11/bin/pg_basebackup -h 【主服務(wù)器地址】 -p 【主服務(wù)器端口】 -D 【從服務(wù)器數(shù)據(jù)目錄】 -P -U 【主服務(wù)器熱備用戶(hù)】
在從服務(wù)器上修改postgresql.conf,修改port為從機(jī)的端口(5433)
在從服務(wù)器的數(shù)據(jù)目錄下創(chuàng)建一個(gè)recovery.conf文件,內(nèi)容如下:
standby_mode = 'on'
primary_conninfo = 'host=【主服務(wù)器地址】 port=5432 user=【主服務(wù)器熱備用戶(hù)】 password=【主服務(wù)器熱備用戶(hù)密碼】'
trigger_file = '/tmp/pgsql_master'
啟動(dòng)從服務(wù)器的數(shù)據(jù)庫(kù)服務(wù)
5. 在主服務(wù)器和從服務(wù)器上檢查運(yùn)行是否正常
主服務(wù)器:
![](/d/20211018/8f60aa88dfa1f86b9248c2b80488df60.gif)
從服務(wù)器:
![](/d/20211018/b9b5b5c1d0f9edb9afd3c7f5d3089a9b.gif)
使用postgres創(chuàng)建主服務(wù)器,在psql下運(yùn)行下列命令:
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = ‘【熱備用戶(hù)名】';
若顯示以下內(nèi)容,說(shuō)明已經(jīng)成功搭建:
![](/d/20211018/f9b32dce7b345c1d58389f05e24f6d20.gif)
**
三 安裝插件
**
安裝所需的插件
安裝PostGIS和pgAgent
yum install postgis25_11 -y
yum install pgagent_11 -y
切換到postgres用戶(hù),運(yùn)行psql進(jìn)入postgresql客戶(hù)端,在postgres數(shù)據(jù)庫(kù)中運(yùn)行以下命令:
Create extension pgagent;
在postgresql客戶(hù)端中運(yùn)行以下命令創(chuàng)建數(shù)據(jù)庫(kù)cs2:
在cs2數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)擴(kuò)展
Create extension postgis;
Create extension "uuid-ossp";
Create extension "postgres_fdw"
使用root用戶(hù)啟動(dòng)pgagent服務(wù):
systemctl start pgagent_11
systemctl enable pgagent_11
主從的postgresql數(shù)據(jù)庫(kù)配置到這里就結(jié)束了 下次再說(shuō) postgresql數(shù)據(jù)庫(kù)轉(zhuǎn)換成 timescaledb 時(shí)序庫(kù)
到此這篇關(guān)于postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù))的文章就介紹到這了,更多相關(guān)postgresql數(shù)據(jù)庫(kù)安裝部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- postgreSQL數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)postgres常用命令分享
- postgresql修改完端口后直接psql連接數(shù)據(jù)庫(kù)報(bào)錯(cuò)的解決
- 如何獲取PostgreSQL數(shù)據(jù)庫(kù)中的JSON值
- postgreSQL數(shù)據(jù)庫(kù)的監(jiān)控及數(shù)據(jù)維護(hù)操作
- PostgreSQL數(shù)據(jù)庫(kù)中匿名塊的寫(xiě)法實(shí)例
- SpringBoot連接使用PostgreSql數(shù)據(jù)庫(kù)的方法
- PostgreSql 導(dǎo)入導(dǎo)出sql文件格式的表數(shù)據(jù)實(shí)例
- PostgreSQL upsert(插入更新)數(shù)據(jù)的操作詳解
- 使用postgresql 模擬批量數(shù)據(jù)插入的案例