时间:2021-07-01 10:21:17 帮助过:56人阅读
本文及其附件以PostgreSQL协议发布 曾经有朋友问过如何把缓存清空,没有这个功能,测试的时候非常不方便。 我做了一个补丁抛砖引
本文及其附件以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、仅经过简单测试,,我个人无法保证代码安全,请不要用在生产环境
PostgreSQL完全刷缓存补丁下载:
免费下载地址在
用户名与密码都是
具体下载目录在 /2013年资料/11月/14日/PostgreSQL完全刷缓存补丁
下载方法见
PostgreSQL 的详细介绍:请点这里
PostgreSQL 的下载地址:请点这里
PostgreSQL 9.3物化视图使用
使用 PostgreSQL 数据库日期类型的 4 个提示
PostgreSQL删除表中重复数据行
PostgreSQL缓存详述
Windows平台编译 PostgreSQL
Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装