文档章节

PostgreSQL完全刷缓存补丁

有理想的猪
 有理想的猪
发布于 2013/11/13 08:08
字数 288
阅读 1712
收藏 29

本文及其附件以PostgreSQL协议发布

曾经有朋友问过如何把缓存清空,没有这个功能,测试的时候非常不方便。

我做了一个补丁抛砖引玉,见附件。

提供两个SQL命令,尽量兼容Oracle:

1、ALTER SYSTEM CHECKPOINT;
这个其实就是将 CHECKPOINT 封装到一个新语法,没什么改动。
2、ALTER SYSTEM FLUSH SHARED_BUFFER / BUFFER_CACHE;
清空数据库缓存,将发生修改的数据刷到硬盘,脏块写出功能仍然是调用PG核心代码。

主要说明
1、语法是由Flex和Bison(Yacc)完成解析,请自行查阅它们的文档。
2、SYSTEM关键字由非保留改为保留
3、增加非保留关键字 FLUSH
4、SHARED_BUFFER 和 BUFFER_CACHE 并没有定义成关键字,而是用字符串比较
5、GANQI_VERSION是我自己定义的工程名,用的删掉或者在编译环境设定为1即可
6、仅经过简单测试,我个人无法保证代码安全,不要用在生产环境

不会发附件,用外部链接
http://bbs.pgsqldb.com/client/read.php?action=cy_download_click&post_fj_auto_bh=4460

© 著作权归作者所有

有理想的猪
粉丝 137
博文 120
码字总数 50661
作品 0
红挢
高级程序员
私信 提问
加载中

评论(6)

LiangShao
LiangShao

引用来自“权宗亮”的评论

引用来自“LiangShao”的评论

链接 没了,还有 源码吗?

没人回应,我自己也没了,参考下freelist.c,代码很简单的

freelist.c 。。恩,谢谢
有理想的猪
有理想的猪 博主

引用来自“LiangShao”的评论

链接 没了,还有 源码吗?

没人回应,我自己也没了,参考下freelist.c,代码很简单的
有理想的猪
有理想的猪 博主

引用来自“LiangShao”的评论

链接 没了,还有 源码吗?

我问下论坛的人,应该有人留着呢
LiangShao
LiangShao
链接 没了,还有 源码吗?
seared2008
seared2008
学习中
javasql
javasql
牛人呐
PostgreSQL语句中断代码

前几天发表的《PostgreSQL完全刷缓存补丁》一文,其实稍微有点缺憾,就是没有语句中断机制。刷缓存过程是纯内存访问,理论上速度会非常快,而且以PG的机制,一个进程获得锁之后会立即释放,所...

有理想的猪
2013/11/15
377
0
如何为PostgresQL做贡献?

作者:Craig Kerstiens 译者:张文升 译者简介 张文升 中国开源软件推进联盟PostgreSQL分会核心成员之一,《PostgreSQL实战》作者之一。常年活跃于PostgreSQL、MySQL、Redis等开源技术社区,...

PostgreSQL中文社区
01/23
0
0
【阿里云新品发布·周刊】第17期:App Hub重磅发布,打造云原生“高速公路”上的应用加油站

点击订阅新品发布会! 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多内容,了解更多 最新发布 开放云原生应用中心,是云原生“高速公路”上的托管和分发应用的...

云攻略小攻
07/08
0
0
Postgres中的WAL(三)ControlFileData & CKPT

控制文件在数据库中非常的重要,里面会记录CKPT信息以及数据库的初始化信息。这篇文件主要分享一下控制文件,以及数据库崩溃的情况下如何如何通过控制文件和CKPT来回放WAL。 PG_VERSION:10....

RDBMS原理分析
2018/07/12
0
0
EDB PPAS(Oracle 兼容版) Oracle与PostgreSQL 兼容模式的参数配置切换

标签 PostgreSQL , EDB , PPAS , 参数 , Oracle模式 , PostgreSQL模式 背景 EDB PPAS是EDB推出的一款同时兼容Oracle和PostgreSQL协议的数据库,在去O的场景中,使用非常广泛,价格便宜,同时...

德哥
2018/05/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
9
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部