这里是postgresql 12版本搭建及主备部署操作的完整攻略。
安装postgresql 12
首先,你需要安装postgresql 12,可以通过以下两种方式进行安装操作:
方法一:Ubuntu软件源安装
在Ubuntu系统上,postgresql 12可以通过系统软件源进行安装,使用以下命令进行安装:
sudo apt-get update
sudo apt-get install postgresql-12
方法二:源码安装
你也可以通过源码进行安装,具体步骤如下:
- 下载postgresql 12的源码包,可以官网下载:https://www.postgresql.org/download/
- 解压源码包:tar -zxvf postgresql-12.tar.gz
- 进入源码目录: cd postgresql-12
- 执行预配置: ./configure --prefix=/usr/local/pgsql-12
- 编译: make
- 安装: sudo make install
- 创建postgresql用户:sudo useradd postgres
- 设置postgresql密码:sudo passwd postgres
- 初始化数据库: sudo /usr/local/pgsql-12/bin/initdb -D /usr/local/pgsql-12/data
- 启动postgresql: sudo /usr/local/pgsql-12/bin/pg_ctl -D /usr/local/pgsql-12/data -l logfile start
以上就是postgresql 12的安装操作。
主备部署
接下来,讲解postgresql 12的主备部署操作。
配置主库
主库的配置步骤如下:
- 修改postgresql.conf配置文件:sudo vim /etc/postgresql/12/main/postgresql.conf
listen_addresses = 'localhost,192.168.1.1' # 修改监听IP地址
wal_level = replica # 把wal_level的值设置为replica
max_wal_senders = 10 # 设置能够向外发送归档日志的最大进程数
wal_keep_segments = 256 # 设置能够保存归档日志的最小数量
hot_standby = on # 开启热备份模式
- 修改pg_hba.conf权限文件:sudo vim /etc/postgresql/12/main/pg_hba.conf
在该文件中添加以下内容:
host replication postgres 192.168.1.1/24 md5
配置备库
备库的配置步骤如下:
- 修改postgresql.conf配置文件:sudo vim /etc/postgresql/12/main/postgresql.conf
listen_addresses = 'localhost' # 修改监听IP地址
hot_standby = on # 开启热备份模式
- 创建recovery.conf文件:sudo vim /usr/local/pgsql-12/data/recovery.conf
在该文件中添加以下内容:
standby_mode = 'on'
primary_conninfo = 'host=192.168.1.1 port=5432 user=postgres password=123456'
trigger_file = '/usr/local/pgsql-12/data/failover'
- 启动备库:sudo /usr/local/pgsql-12/bin/pg_ctl -l /usr/local/pgsql-12/data/logfile -D /usr/local/pgsql-12/data start
测试主备切换
为了测试主备切换,可以模拟主库故障的情况。
- 手动停止主库:sudo /usr/local/pgsql-12/bin/pg_ctl -D /usr/local/pgsql-12/data -l logfile stop
- 备库自动切换为主库,可以通过以下命令查看:sudo /usr/local/pgsql-12/bin/psql -U postgres -h localhost -p 5432 -c "select pg_is_in_recovery()"
- 如果结果显示为“f”,则说明备库已经成为了主库。
如上就是postgresql 12版本搭建及主备部署操作的完整攻略。
参考示例一:https://www.cnblogs.com/lfri/p/12035564.html
参考示例二:https://www.jianshu.com/p/0a8ac490f4c0
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:postgresql 12版本搭建及主备部署操作 - Python技术站