云服务器 ECS 建站教程:PostgreSQL 本地Slave搭建步骤

本文涉及的产品
PolarDB Agent Express,2核4GB
云数据库 PolarDB MySQL 版,列存表分析加速 4核8GB
简介:


PostgreSQL 本地Slave搭建步骤

PostgreSQL被业界誉为“最先进的开源数据库”,目前阿里云数据库PostgreSQL版具有NoSQL兼容,高效查询,插件化管理,安全稳定的特性。本文档介绍使用阿里云ECS搭建PostgreSQL主从架构的操作步骤。

适用对象

适用于熟悉ECS,熟悉Linux系统,熟悉PostgreSQL的阿里云用户。

基本流程

使用阿里云ECS搭建PostgreSQL主从架构的操作步骤如下:

  • 选购ECS 实例
  • 主节点安装配置
  • 从节点安装配置
  • 检测验证

步骤 1:选购ECS实例

搭建主从复制架构,需要选购2台专有网络类型的云服务器ECS实例,建议不分配公网IP,可按需购买弹性公网IP绑定至对应ECS实例,进行配置操作。后续使用您可以根据实际情况考虑配置升级或者架构调优变更。

步骤2:安装PostgreSQL

在阿里云服务器上安装PostgreSQL有2种方式

  • 镜像部署
  • 手动部署(源码编译安装/YUM安装)

本文档基于yum部署的方式,安装postgresql;您也可以在云市场基础环境中搜索筛选,使用镜像部署,更加快捷方便。

本文环境软件明细:CentOS 7.2 |PostgreSQL (9.5.6)

步骤3:PostgreSQL主节点配置

1、主节点上执行以下命令安装PostgreSQL。

# yum update -y 
# yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm -y
# yum install postgresql95-server postgresql95-contrib -y
# /usr/pgsql-9.5/bin/postgresql95-setup initdb
# systemctl enable postgresql-9.5.service
# systemctl start postgresql-9.5.service

2、主节点上创建进行主从复制的数据库账号,并设置密码及登录和备份权限。

# su - postgres
# psql
postgres=# CREATE ROLE replica login replication encrypted password 'replica';
CREATE ROLE
postgres=# SELECT usename from pg_user ;
usename  
----------
postgres
replica
(2 rows)
postgres=# SELECT rolname from pg_roles ;
rolname  
----------
postgres
replica
(2 rows)

3、修改pg_hba.conf,设置replica用户白名单。

# vim /var/lib/pgsql/9.5/data/pg_hba.conf

在IPv4 local connections段添加下面两行内容

host    all             all             192.168.1.0/24         md5
允许VPC网段中md5密码认证连接
host    replication     replica         192.168.1.0/24         md5
允许用户从replication数据库进行数据同步

4、修改postgresql.conf

# vim /var/lib/pgsql/9.5/data/postgresql.conf

设置以下参数

wal_level = hot_standby  启用热备模式
synchronous_commit = on  开启同步复制
max_wal_senders = 32     同步最大的进程数量
wal_sender_timeout = 60s 流复制主机发送数据的超时时间
max_connections = 100    最大连接数,从库的max_connections必须要大于主库的

5、重启服务

# systemctl restart postgresql-9.5.service

步骤4:PostgreSQL从节点配置

1、安装postgres。

# yum update -y
# yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm -y
# yum install postgresql95-server postgresql95-contrib -y

2、使用pg_basebackup基础备份的工具制定备份目录。

# pg_basebackup -D /var/lib/pgsql/9.5/data -h 主节点IP -p 5432 -U replica -X stream -P
Password: 
30075/30075 kB (100%), 1/1 tablespace

3、添加并修改recovery.conf。

# cp /usr/pgsql-9.5/share/recovery.conf.sample /var/lib/pgsql/9.5/data/recovery.conf
# vim /var/lib/pgsql/9.5/data/recovery.conf

设置以下参数。

standby_mode = on  
# 声明此节点为从库
primary_conninfo = 'host=主节点IP port=5432 user=replica password=replica'  
# 对应主库的连接信息
recovery_target_timeline = 'latest' 
# 流复制同步到最新的数据

4、修改postgresql.conf。

# vim /var/lib/pgsql/9.5/data/postgresql.conf

设置以下参数。

max_connections = 1000             # 最大连接数,从节点需设置比主节点大
hot_standby = on                   # 开启热备
max_standby_streaming_delay = 30s  # 数据流备份的最大延迟时间
wal_receiver_status_interval = 1s  # 从节点向主节点报告自身状态的最长间隔时间
hot_standby_feedback = on          # 如果有错误的数据复制向主进行反馈

5、修改数据目录属组属主。

# chown -R postgres.postgres /var/lib/pgsql/9.5/data

6、启动服务,设置开机自启。

# systemctl start postgresql-9.5.service
# systemctl enable postgresql-9.5.service

步骤5:检测验证

1、主节点中可查看到sender进程。

# ps aux |grep sender
postgres  2916  0.0  0.3 340388  3220 ?        Ss   15:38   0:00 postgres: wal sender process replica 192.168.1.222(49640) streaming 0/F01C1A8

2、从节点中可查看到receiver进程。

# ps aux |grep receiver
postgres 23284  0.0  0.3 387100  3444 ?        Ss   16:04   0:00 postgres: wal receiver process   streaming 0/F01C1A8

3、主库中可查看到从库状态。

replication=# select * from pg_stat_replication;
pid  | usesysid | usename | application_name |  client_addr  | client_hostname | client_port |         backend_start         | backend_xmin |   state   | sent_location | write_locati
on | flush_location | replay_location | sync_priority | sync_state 
------+----------+---------+------------------+---------------+-----------------+-------------     +-------------------------------+--------------+-----------+---------------+-------------
---+----------------+-----------------+---------------+------------
2916 |    16393 | replica | walreceiver      | 192.168.1.222 |                 |       49640 |    2017-05-02 15:38:06.188988+08 |         1836 | streaming | 0/F01C0C8     | 0/F01C0C8   
| 0/F01C0C8      | 0/F01C0C8       |             0 | async
(1 rows)

原文链接

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
弹性计算 搜索推荐 异构计算
阿里云服务器多少钱一年?亲自整理ECS、轻量和GPU服务器租赁价格表
2025年阿里云服务器优惠汇总:轻量应用服务器2核2G 38元/年起,ECS 2核2G 99元/年,2核4G 199元/年,4核16G 89元/月,8核32G 160元/月,香港轻量25元/月起,新老用户同享,续费同价。
2003 158
|
7月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
640 10
|
7月前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
518 2
|
7月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
7月前
|
弹性计算 搜索推荐 异构计算
租用阿里云服务器一年要多少钱?ECS、轻量和GPU服务器租赁价格,手动整理
2025年10月阿里云服务器优惠持续,轻量应用服务器200M带宽38元起/年,ECS 2核2G 99元/年、2核4G 199元/年,4核16G 89元/月,8核32G 160元/月,香港轻量25元/月起,新老同享,续费不涨价。
1476 2
|
7月前
|
存储 弹性计算 网络协议
阿里云服务器ECS是什么?ECS介绍、云服务器创建及使用教程
阿里云ECS是安全可靠、弹性灵活的云计算服务,支持多种实例规格与操作系统,可快速创建和管理云服务器。本文详解ECS介绍、购买流程(含付费模式、地域、网络、存储等设置)及使用教程,助您轻松上手云服务器。
711 4
|
7月前
|
存储 弹性计算 Linux
阿里云账号注册、领取优惠券、试用云服务器和购买云服务器教程参考
对于还未使用阿里云任何云产品的用户来说,完整的上云流程包括账号注册并完成实名认证,然后才是试用或者购买云服务器,有的新手用户对这一流程还不是很清楚。本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后领取阿里云优惠券,并试用云服务器和购买云服务器的全部流程,适合初次购买和试用阿里云服务器的新手用户参考。
|
11月前
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
1531 2

推荐镜像

更多