![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PostgreSQL数据库内核
文章平均质量分 72
PostgreSQL源码原理解析与扩展修改
A叶子叶
大数据平台、数据仓库、数据分析/挖掘、应用开发、深度学习、爬虫
展开
-
PostgreSQL数据库内核(五):创建内置函数pg_test_function
一般接触到的普通的web段上层应用都是基于http的REST传递数据,数据库则使用安全可靠的tcp长连接进行数据交互,在拓展pg功能时候,有几个交互验证的方式:内置sql函数(如字符串处理、数值计算、日期时间处理、类型转换函数);命令行(checkpoint),原创 2024-08-21 17:07:24 · 264 阅读 · 0 评论 -
PostgreSQL数据库内核(四):增加自定义的GUC参数
在psql进入数据库客户端模式后可以使用show和set命令来展示和设置参数,这个参数有的是用户可以指定的写在conf文件中的,有的是controlfile中堆外暴露可以查的,我们本次实现个最简单的可以show和set的参数(不写入conf文件)。原创 2024-08-14 16:39:25 · 323 阅读 · 0 评论 -
PostgreSQL数据库内核(三):缓冲区管理器
通常数据库系统都会在内存中预留buffer缓冲空间用于提升读写效率,因为与内存读写交互效率远大于与磁盘的读写效率,而缓冲区管理器管理着缓冲区内存空间,将热数据加载到内存中以减少直接的磁盘读写,并维持这部分数据在缓冲池中的状态/锁管理,充当着读写进程和操作系统之间的协同者角色; 共享缓冲区管理器在设计上需要考虑的核心问题是:缓冲区大小设计+提升缓冲区命中率+制定合理缓冲区回收策略+保证多并发下的一致性问题。原创 2024-08-14 16:16:02 · 1125 阅读 · 0 评论 -
PostgreSQL数据库内核(二):增加controlfile参数
新增guc参数pg_test_parameter,支持从initdb和pg_ctl命令中传递/覆盖参数,使用场景是TDE透明加密指定算法或者某些定制化需求。原创 2024-08-03 17:49:04 · 400 阅读 · 0 评论 -
PostgreSQL数据库内核(一):增加系统表pg_test_catalog
使用PostgreSQL14.5源码版本编译,操作系统CentOS,本地windos系统+CLion代码工具,首先下载。以上就完成了增加系统表流程,这里系统表并没有一些逻辑交互,如果涉及复杂的逻辑交互需要修改backend里面的代码或者调用;原创 2024-08-03 15:09:27 · 1107 阅读 · 0 评论