postgresql参数full_page_writes详解
来源:互联网 发布:淘宝网禁止发布违背 编辑:程序博客网 时间:2024/06/06 01:36
full_page_writes作用:
是否开启全页写入,此参数是为了防止块折断(块损坏)的一种策略。
造成块折断的原因:
linux操作系统文件系统一个块一般是4k,而数据库则一般是一个块8k,当数据库的脏块刷新到磁盘上时,由于底层是两个块组成的,比如刷第一个操作系统块到磁盘上了,而当刷第二个操作系统块的时候发生了停电等突然停机事故,则就发生了块折断(数据块是否折断是根据块的checksum值来检查的)。
pg采用的机制:
当checkpoint后的一个块第一次变脏后就要整块写入到wal日志中,后续继续修改此块则只把修改的信息写入wal日志中,如果在此过程中发生了停电,则实例启动后会从checkpoint检查点,之后开始进行实例恢复,如果有块折断,则在全页写入的块为基础进行恢复,最后覆盖磁盘上的折断块,所以当每次checkpoint后如果数据有修改都会进行全页写入。
参数checkpoint_segments对checkpoint影响
参数checkpoint_segments控制checkpoint的间隔,如果checkpoint_segments设置太小就会造成频繁的checkpoint,进而导致写入了过多的全页,可能会造成wal日志的暴增.如果设置的过大,恢复时间会变长。
mysql为了防止块折断采用了double write,oracle采用了redo+undo机制,其中undo记录了前镜像,而redo则既记录了修改数据又记录了undo块。
阅读全文
0 0
- postgresql参数full_page_writes详解
- postgresql参数synchronous_commit详解
- PostgreSQL数据库配置文件之postgresql.conf全部参数详解
- PostgreSQL流复制参数max_wal_senders详解
- postgresql 参数注释
- postgresql standard_conforming_strings参数
- postgresql.conf参数-备查
- postgresql 加载参数文件
- postgresql参数wal_level
- PostgreSQL extension 参数
- PostgreSQL配置文件--AUTOVACUUM参数
- postgresql调优一:postgresql参数调优
- 转载:postgresql性能详解
- Postgresql 配置文件详解
- PostgreSql数据库安装详解
- postgresql内存详解
- PostgreSQL模式详解
- postgresql中增加系统参数
- URL 和 域名解析
- jmeter聚合报告详解
- VS中cout,cin不能使用的问题
- 查看当前的Activity
- 项目开发小经验积累 不定期更新~
- postgresql参数full_page_writes详解
- 解决远程连接mysql错误1130
- iOS 判断相机权限是否被限制,判断相机是否可以使用
- Android 开发进阶: 自定义 View 1-1 绘制基础
- Linux inode节点
- Hive集合数据类型(Struct,Map,Array)
- 数据库基础学习
- bzoj 1103(DFS序+树状数组)
- ospf部署过程--待完善