在当今互联网时代中,数据已成为公司的重要核心资产之一。其中,数据库扮演了非常重要的角色,但是随着业务数据的快速增长,单一数据库很难满足公司的需求,因此出现了数据库集群。
PostgreSQL 是一种自由软件对象-关系型数据库管理系统,它支持多种操作系统并能用于多种应用程序和软件开发语言,因此它是很多公司使用的数据库之一。本文将详细介绍如何快速搭建 PostgreSQL 数据库集群,帮助前端工程师快速搭建数据库集群解决方案。
1. 安装 PostgreSQL
首先,我们需要在每台服务器上安装 PostgreSQL。安装 PostgreSQL 的方法很多,可以在官网下载,也可以使用包管理工具。
CentOS 安装
使用 yum 安装 PostgreSQL:
yum install postgresql-server postgresql-contrib
安装完成之后,运行以下命令来初始化数据库集群:
postgresql-setup initdb
Ubuntu 安装
使用 apt-get 安装 PostgreSQL:
apt-get install postgresql postgresql-contrib
2. 创建主节点
在 PostgreSQL 中,主节点相当于主数据库,是数据库集群的核心。以下是创建主节点的步骤。
2.1 修改配置文件
首先,我们需要做的是修改 PostgreSQL 的配置文件,配置文件默认存储在 /etc/postgresql/10/main/postgresql.conf
,可以在其中修改以下参数:
# 监听地址 listen_addresses = '*' # 允许远程连接 listen_addresses = '*' # 启用流复制 wal_level = hot_standby # 设置主数据库名称 max_wal_senders = 10
修改完成后,需要重启 PostgreSQL 服务器:
systemctl restart postgresql-10.service
2.2 设置备用服务器
在同一局域网内部搭建 PostgreSQL 数据库集群时,我们只需要修改主服务器的配置,备用服务器会自动识别它的存在并拉取数据。
如果需要搭建跨网 PostgreSQL 数据库集群,我们可以在备用服务器的配置文件中添加如下参数:
# 在主数据库上的IP地址 primary_conninfo = 'host=<主数据库IP> port=5432 user=replication password=replication dbname=postgres' # 从服务器上的唯一ID standby_mode = 'on' # 允许开启流复制(热备) hot_standby = on # 指定备用数据库的名称 primary_slot_name = 'replication_slot_name'
2.3 启用 PostgreSQL 流复制
数据库集群的核心是流复制,它使主服务器能够将数据流式传输到备用服务器中。我们需要修改主服务器配置文件来开启 PostgreSQL 流复制:
# 开启_archiving archive_mode = on # 增加控制归档日志的存储时间 archive_timeout = 300 # 指定需要备份的文件目录或文件 archive_command = 'cd /home/postgres && scp %p postgres@<备用数据库IP>:/home/postgres/pg_archive/%f'
此时,主数据库可以将数据流式传输到备用服务器,如果主服务器宕机,则备用服务器可以立即接替其工作。
3. 创建从节点
从节点是数据库集群的备用数据库,它可以接管主节点的工作。以下是创建从节点的步骤。
3.1 修改配置文件
与主节点不同,从节点需要添加额外的配置参数,以将其与主节点建立连接:
# 指定主服务器的IP地址 primary_conninfo = 'host=<主数据库IP> port=5432 user=replication password=replication dbname=postgres' # 进入即时复制模式 standby_mode = 'on' # 指定备用数据库的名称 primary_slot_name = 'replication_slot_name'
3.2 执行复制命令
当从节点配置完成后,我们需要执行如下命令来将主节点的数据复制到从节点:
pg_basebackup -h <主数据库IP> -D /var/lib/postgresql/10/main -U postgres -P -R -X stream
执行完命令后,从节点应该已经成功同步了主节点的数据。
4. 集群测试
在完成主节点和从节点的配置后,我们可以使用如下命令来测试 PostgreSQL 数据库集群是否正常工作:
psql -h <集群IP> -p 5432 -U postgres -d postgres
此时,我们就可以通过 psql 命令行工具在数据库集群中添加数据、查询数据等。
5. 总结
本文介绍了如何快速搭建 PostgreSQL 数据库集群,并讲解了主节点和从节点的创建、流复制的配置、集群测试等内容。希望这些内容能够帮助前端工程师快速搭建 PostgreSQL 数据库集群解决方案。
示例代码:
-- -------------------- ---- ------- -- ----- ------ ----- ----- - -- ------ ------- ---- ---- ------------- ----- ------------- -------- ------------ -- -- ------ ------ ---- ----- ------ ------ --------- ------ --------- -------------------- ------------ -- ---- ------ - ---- ------
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e5a58af6b2d6eab3115f30