时间:2024-02-24 17:17作者:下载吧人气:19
非常重要的synchronous_commit参数
流复制的同步方式,有主库配置文件postgresql.conf,中的synchronous_commit控制着。所以理解该参数的配置十分重要。
参数值 | 说明 | 优点 | 缺点 |
---|---|---|---|
on 或 local | 当事务提交时,WAL先写入WAL buffer 再写到 WAL文件(落盘)中。设置为on表示提交事务时需要等待本地WAL最终落盘后,才向客户端返回成功。 | 非常安全 | 数据库性能有损耗 |
off | 当事务提交时,不需要等待WAL先写入WAL buffer 再写到 WAL文件(落盘)中。 | 提升数据库性能 | 数据库宕机是最新提交的少量事务可能丢失 |
参数值 | 说明 | 优点 | 缺点 |
---|---|---|---|
remote_write | 当主库提交事务后,需等待备库接收主库发送的WAL日志流并写入WAL buffer, 就向客户端返回成功 | 只有主库的WAL是落盘的 | 事务响应时间快 |
on | 当主库提交事务后,需等待备库接收主库发送的WAL日志流并写入WAL buffer 以及写入WAL文件, 就向客户端返回成功 | 主、备库WAL均落盘,有两份持有化文件保护 | 事务响应时间相对较慢 |
remote_apply | 当主库提交事务后,需等待备库接收主库发送的WAL日志流并写入WAL buffer 以及写入WAL文件, 同时备库apply之后, 就向客户端返回成功 | 数据保护最好 | 影响事务性能 |
在主库执行以下SQL , sync_state字段为async表示异步同步方式
postgres=# select usename , application_name , client_addr,sync_state from pg_stat_replication;
usename | application_name | client_addr | sync_state
———+——————+—————-+————
repuser | walreceiver | 192.168.56.102 | async
(1 row)
网友评论