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

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云服务器ECS,u1 2核4GB 1个月
简介:


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)

原文链接

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
26 4
|
27天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
28天前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
793 1
|
4天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器
|
14天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
71 3
|
22天前
|
存储 弹性计算 Serverless
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
FPGA云服务器是阿里云提供的实例规格,融合现场可编程门阵列的低延迟硬件加速与弹性资源。FaaS平台简化了FPGA开发,提供统一硬件、开发环境和丰富的IP生态。特性包括硬件虚拟化、联合仿真和动态互联配置。产品计费与ECS一致,支持多种计费模式。优势在于分钟级交付、高性能加速、经济性价比和设计复用。应用广泛,如视频转码、人工智能、基因测序等。FPGA云服务器通过FPGA镜像、OSS服务等工具进行管理。
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
|
25天前
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
154 1
|
25天前
|
负载均衡 监控 关系型数据库
PostgreSQL从小白到高手教程 - 第48讲:PG高可用实现keepalived
PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
64 1
|
26天前
|
存储 固态存储 网络安全
云服务器注册教程
本文概述了云服务器的优势,如价格亲民、按小时计费、SSD存储和高性能,并介绍了云服务器的注册及创建虚拟专用服务器的步骤。注册过程包括邮箱验证、激活账号和绑定支付方式。创建云服务器时,选择操作系统、计划、数据中心等配置,然后通过SSH连接。云服务器因其易用性和经济性受到开发人员和小型企业青睐。文章还提及了使用WordPress搭建个人博客的教程。
159 0
云服务器注册教程
|
22天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客