目錄
- 一 業務數據庫搭建
- 1. 安裝 yum源(服務器可訪問互聯網時用)
- 2. 安裝客戶端
- 3. 安裝服務端
- 4. 初始化數據庫
- 5. 修改服務啟動腳本
- 6. 修改數據庫配置
- 7. 開啟防火墻端口
- 8. 啟動數據庫服務
- 9. 修改數據庫postgres用戶密碼
- 二 主從熱備配置
- 1. 創建熱備用戶
- 2. 進入自行創建的數據目錄,修改 postgresql.conf 文件:
- 3. 修改數據目錄下的 pg_hda.conf 文件
- 4. 重啟主服務器的數據庫服務
- 5. 在主服務器和從服務器上檢查運行是否正常
- 三 安裝插件
操作系統
64位CentOS 7
數據庫搭建
一 業務數據庫搭建
1. 安裝 yum源(服務器可訪問互聯網時用)
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2. 安裝客戶端
yum install postgresql11 –y
3. 安裝服務端
yum install postgresql11-server -y
4. 初始化數據庫
使用yum安裝后,會在系統中創建一個postgres的無密碼用戶。在主節點服務器切換到此用戶,然后創建一個數據目錄,該目錄將存放所有的配置文件、數據庫文件和日志文件。
root # mkdir -p /u01/apps/pgsql/data
root # chown -R postgres:postgres /u01/apps/pgsql/
PostgreSQL的安裝目錄默認存放在/usr/pgsql-11,使用下面的命令初始化數據庫目錄:
使用postgres用戶執行:錄
我放在
/usr/pgsql-11/bin/initdb -D 【數據目錄全路徑】
5. 修改服務啟動腳本
使用root用戶修改 /usr/lib/systemd/system/postgresql-11.service 文件,將其中的PGDATA修改為新的數據目錄
vim /usr/lib/systemd/system/postgresql-11.service

6. 修改數據庫配置
使用postgres用戶進入自行創建的數據目錄,修改 postgresql.conf 文件:
必須要修改listen_addresses、port、max_connections、log_timezone、timezone、datestyle。



修改數據目錄下的 pg_hda.conf 文件,添加允許連接到本數據庫的地址:

7. 開啟防火墻端口
firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --reload
8. 啟動數據庫服務
啟動服務:systemctl start postgresql-11
停止服務:systemctl stop postgresql-11
重啟服務:systemctl restart postgresql-11
9. 修改數據庫postgres用戶密碼
修改數據庫postgres用戶密碼,使用系統的postgres用戶進入psql,執行以下命令:
[root]# su - postgres
上一次登錄:二 12月 29 13:35:56 CST 2020pts/0 上
-bash-4.2$ psql
psql (11.5)
輸入 "help" 來獲取幫助信息.
postgres=# ALTER USER postgres ENCRYPTED PASSWORD '【密碼】';
**
二 主從熱備配置
**
1. 創建熱備用戶
啟動數據庫服務,切換至操作系統的postgres用戶,運行psql
在psql命令行中運行下面的命令創建熱備用戶,注意用戶名只能是小寫字母:
CREATE USER 【用戶名】 REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '【密碼】';
2. 進入自行創建的數據目錄,修改 postgresql.conf 文件:
除 之前 所做的修改外,還需要修改wal_level、max_wal_senders、wal_keep_segments、hot_standby:



3. 修改數據目錄下的 pg_hda.conf 文件
需要添加replication的連接配置,注意此處應限制為特定機器的連接,該配置的第三列配置為之前創建的熱備用戶

4. 重啟主服務器的數據庫服務
在從服務器上安裝PostgreSQL,僅需要創建數據目錄,不需要初始化數據庫,使用下面的命令將主服務的數據文件同步至從服務器:
/usr/pgsql-11/bin/pg_basebackup -h 【主服務器地址】 -p 【主服務器端口】 -D 【從服務器數據目錄】 -P -U 【主服務器熱備用戶】
在從服務器上修改postgresql.conf,修改port為從機的端口(5433)
在從服務器的數據目錄下創建一個recovery.conf文件,內容如下:
standby_mode = 'on'
primary_conninfo = 'host=【主服務器地址】 port=5432 user=【主服務器熱備用戶】 password=【主服務器熱備用戶密碼】'
trigger_file = '/tmp/pgsql_master'
啟動從服務器的數據庫服務
5. 在主服務器和從服務器上檢查運行是否正常
主服務器:

從服務器:

使用postgres創建主服務器,在psql下運行下列命令:
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = ‘【熱備用戶名】';
若顯示以下內容,說明已經成功搭建:

**
三 安裝插件
**
安裝所需的插件
安裝PostGIS和pgAgent
yum install postgis25_11 -y
yum install pgagent_11 -y
切換到postgres用戶,運行psql進入postgresql客戶端,在postgres數據庫中運行以下命令:
Create extension pgagent;
在postgresql客戶端中運行以下命令創建數據庫cs2:
在cs2數據庫中創建數據庫擴展
Create extension postgis;
Create extension "uuid-ossp";
Create extension "postgres_fdw"
使用root用戶啟動pgagent服務:
systemctl start pgagent_11
systemctl enable pgagent_11
主從的postgresql數據庫配置到這里就結束了 下次再說 postgresql數據庫轉換成 timescaledb 時序庫
到此這篇關于postgresql數據庫安裝部署搭建主從節點的詳細過程(業務庫)的文章就介紹到這了,更多相關postgresql數據庫安裝部署內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- postgreSQL數據庫默認用戶postgres常用命令分享
- postgresql修改完端口后直接psql連接數據庫報錯的解決
- 如何獲取PostgreSQL數據庫中的JSON值
- postgreSQL數據庫的監控及數據維護操作
- PostgreSQL數據庫中匿名塊的寫法實例
- SpringBoot連接使用PostgreSql數據庫的方法
- PostgreSql 導入導出sql文件格式的表數據實例
- PostgreSQL upsert(插入更新)數據的操作詳解
- 使用postgresql 模擬批量數據插入的案例