阿晨的运维笔记 | Ubuntu部署PostgreSQL集群
2021/7/24 2:08:57
本文主要是介绍阿晨的运维笔记 | Ubuntu部署PostgreSQL集群,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
开始部署之前,建议先按照Ubuntu切换到国内镜像源操作一下,能省下大把宝贵时间!
安装Postgresql
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get install postgresql-9.6 # 自行选择合适版本 ## 更多参考 https://www.postgresql.org/download/linux/ubuntu/
修改配置文件
sudo vim /etc/postgresql/9.6/main/postgresql.conf listen_addresses = '*' max_connections = 1000 logging_collector = on ## 更多参考 https://www.postgresql.org/docs/current/static/runtime-config.html sudo vim /etc/postgresql/9.6/main/pg_hba.conf host all all 0.0.0.0/0 md5 ## 更多参考 https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html sudo service postgresql restart
修改默认用户Postgres的密码
sudo -u postgres psql # ALTER USER postgres WITH PASSWORD 'postgres'; # \q exit
搭建集群
搭建集群不是必须的,但是如果是生产环境,建议还是操作一下,毕竟数据重于泰山!
下面以简单的一主一从抛砖引玉一下
主机 | ip |
---|---|
Master 节点 | 10.10.10.10 |
Slave 节点 | 10.10.10.9 |
Master
节点和Slave
节点分别按照第一步安装并配置完成postgres
后,开始搭建集群。
master节点
1、修改配置
sudo vi /etc/postgresql/9.6/main/postgresql.conf listen_addresses = '*' wal_level = hot_standby archive_mode = on archive_command = 'test ! -f /var/lib/postgresql/9.6/archive/%f && cp %p /var/lib/postgresql/9.6/archive/%f' max_wal_senders = 16 wal_keep_segments = 100 hot_standby = on logging_collector = on ## 更多参考 https://www.postgresql.org/docs/current/static/runtime-config.html sudo vi /etc/postgresql/9.6/main/pg_hba.conf host all all 10.0.0.0/8 md5 host replication repuser 10.0.0.0/8 md5 ## 更多参考 https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html sudo -upostgres mkdir /var/lib/postgresql/9.6/archive sudo chmod 0700 /var/lib/postgresql/9.6/archive sudo service postgresql restart
2、创建工作账户repuser
slave
节点就是通过repuser
进行复制操作的。
sudo -upostgres createuser --replication repuser sudo -upostgres psql postgres=# \password repuser <password> ## 更多参考 https://www.postgresql.org/docs/current/static/user-manag.html
slave节点
1、先停止服务
sudo service postgresql stop
2、由master节点导入数据(postgres 免密码登录 repuser role)
sudo -upostgres vi /var/lib/postgresql/.pgpass 10.10.10.10:5432:*:repuser:<password> 127.0.0.1:5432:*:repuser:<password> sudo chmod 0600 /var/lib/postgresql/.pgpass sudo mv /var/lib/postgresql/9.6/main /var/lib/postgresql/9.6/main.bak sudo -upostgres pg_basebackup -D /var/lib/postgresql/9.6/main -F p -X stream -v -R -h 10.10.10.10 -p 5432 -U repuser
3、修改配置
sudo vi /var/lib/postgresql/9.6/main/recovery.conf standby_mode = 'on' primary_conninfo = 'user=repuser host=10.10.10.10 port=5432' trigger_file = 'failover.now' ## 更多参考 https://www.postgresql.org/docs/current/static/recovery-config.html sudo vi /etc/postgresql/9.6/main/postgresql.conf hot_standby = on
4、重启并检查服务
sudo service postgresql start sudo service postgresql status ... Active: active (exited) sudo -upostgres psql psql (9.6.12) ...
测试集群
在master
节点进行增删改操作,对照看slave
节点是否能够从master
节点复制操作
常用命令
sudo service postgresql start sudo service postgresql status sudo service postgresql restart
更多常用命令,可以查看我的另一篇文章:阿晨的运维笔记 | Postgres常用命令
后面我还会讲一下Docker
和Kubernetes
部署PostgreSQL
的方法,关注我,第一时间可以收到推送哦!
我是阿晨,在技术的道路上我们一起砥砺前行!
这篇关于阿晨的运维笔记 | Ubuntu部署PostgreSQL集群的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-05快速清空 PostgreSQL 数据库中的所有表格,让你的数据库重新焕然一新!
- 2024-01-04在PostgreSQL中创建角色:判断角色是否存在并创建
- 2023-05-16PostgreSQL一站式插件推荐 -- pg_enterprise_views
- 2022-11-22PostgreSQL 实时位置跟踪
- 2022-11-22如何将PostgreSQL插件移植到openGauss
- 2022-11-11PostgreSQL:修改数据库用户的密码
- 2022-11-06Windows 环境搭建 PostgreSQL 物理复制高可用架构数据库服务
- 2022-10-27Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务
- 2022-10-11PostgreSql安装(Windows10版本)
- 2022-09-13PostgreSQL-Network Address类型操作和函数