postgresql主从搭建
在PostgreSQL中,可以通过设置主从复制来实现数据同步。以下是一个基本的步骤指南和示例配置,用于设置PostgreSQL的主从复制:
- 在主服务器上,编辑PostgreSQL的配置文件
postgresql.conf
,通常位于数据目录下。
# 主服务器的配置文件 postgresql.conf
wal_level = replica # 设置为最小的replica级别
max_wal_senders = 3 # 同一时间最多有3个流复制连接
max_replication_slots = 3 # 最多有3个复制槽位
- 在主服务器上,创建一个用于复制的用户:
-- 在主服务器上执行
CREATE ROLE replica LOGIN PASSWORD 'replica_password';
- 在从服务器上,编辑PostgreSQL的配置文件
recovery.conf
(或者在PostgreSQL 12及以后版本使用postgresql.conf
),指定主服务器信息。
# 从服务器的配置文件 recovery.conf
primary_conninfo = 'host=master_ip port=5432 user=replica password=replica_password sslmode=prefer sslcompression=1'
primary_slot_name = 'replica_slot'
- 在从服务器上,启动PostgreSQL服务,并使用以下命令启动复制进程:
-- 在从服务器上执行
SELECT * FROM pg_create_physical_replication_slot('replica_slot');
- 最后,在主服务器上,确保
pg_hba.conf
文件允许从服务器的复制连接:
# 主服务器的 pg_hba.conf
host replication replica slave_ip/32 md5
完成以上步骤后,重启PostgreSQL服务以应用配置更改。在从服务器上,PostgreSQL将自动尝试连接到主服务器并开始复制数据。
请注意,这只是一个基础的主从复制设置示例。根据实际环境和需求,可能需要额外的配置,如连接的加密和身份验证方法、网络设置、监控和故障转移策略等。
评论已关闭