本文共 1521 字,大约阅读时间需要 5 分钟。
PostgreSQL 数据库复制配置指南
数据库复制是 PostgreSQL 中一个核心功能,用于高可用性和数据备份。以下是配置复制的关键参数和设置,帮助您优化数据库性能和管理。
4 复制 REPLICATION
4.1 Sending Server(s)
4.1.1 max_wal_senders
- 默认值:10
- 说明:0 表示启用流复制功能。重启数据库后生效,表示从机连接到主机(master)的并发连接数之和。该并发连接数从进程上看,就是各个wal sender进程数之和。不能超过系统的最大连接数(max_connections),但可能允许超过实际流复制用户数。
4.1.2 wal_keep_segments
- 默认值:0
- 说明:0 表示禁止xlog目录中最多容纳多少个wal日志文件,超过了则删掉最初的几个。每个日志文件大小为16M。
4.1.3 wal_sender_timeout
- 默认值:60s
- 说明:0 表示禁止设置流复制主机发送数据的超时时间。重启数据库后生效。
max_replication_slots
- 默认值:10
- 说明:最大复制槽数量(需重启数据库生效)。此参数限制了逻辑复制的工作线程数。
track_commit_timestamp
- 默认值:off
- 说明:跟踪事务提交时间戳(需重启数据库生效)。默认关闭。
4.2 Master Server
4.2.1 synchronous_standby_names
- 默认值:空字符串('')
- 说明:空字符串表示允许所有同步备库作为同步节点。* 表示所有备库。配置该参数时,可指定备库的数量及应用名称。
4.2.2 vacuum_defer_cleanup_age
- 默认值:0
- 说明:延迟清理事务后的最大xact数。默认值为0,表示立即清理。
4.3 Standby Servers
4.3.1 hot_standby
- 默认值:on
- 说明:on 表示允许从库执行只读操作;off 不允许查询,且在恢复时不允许执行只读操作。
4.3.2 max_standby_archive_delay
- 默认值:30s
- 说明:-1 表示允许不限制归档读取延迟。延迟后若查询未完成,则会被取消。
4.3.3 max_standby_streaming_delay
- 默认值:30s
- 说明:-1 表示允许不限制流式WAL读取延迟。延迟后若查询未完成,则会被取消。
4.3.4 hot_standby_feedback
- 默认值:off
- 说明:关闭反馈机制,防止主库因冲突无法回收垃圾数据。
4.3.5 wal_receiver_status_interval
- 默认值:10s
- 说明:设置从库向主库报告状态的最长间隔时间。每次数据复制时都会生成状态报告。
4.3.6 wal_receiver_timeout
- 默认值:60s
- 说明:从库等待主库通信的最长时间(以毫秒为单位)。0 表示禁止设置。
4.3.7 wal_retrieve_retry_interval
- 默认值:5s
- 说明:从库在失败后重试读取WAL的间隔时间。
4.4 Subscribers
此服务器作为发布者,设置后会屏蔽掉订阅者。
4.4.1 max_logical_replication_workers
- 默认值:4
- 说明:逻辑复制工作线程的最大数目。默认值为4,需重启数据库生效。
4.4.2 max_sync_workers_per_subscription
- 默认值:2
- 说明:每个订阅者的最大同步工作线程数,默认为2。
通过合理配置上述参数,您可以优化数据库的复制性能和管理。请谨慎调整参数,确保配置与系统需求相匹配。
转载地址:http://rpxfk.baihongyu.com/