会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
会玩智能手机
博客园
首页
新随笔
联系
管理
订阅
2025年12月18日
postgresql backend buffer_tag如何构建(gpt的回答)
摘要: 点击查看代码 问题: postgresql的backend进程是通过buffer_tag访问缓冲区管理器的,那backend进程是怎么知道buffer_tag的呢? 回答: 这是一个非常好的、而且问到 PostgreSQL 内核关键路径的问题 👍 我直接按 “真正发生了什么” 的顺序来讲,避免概念
阅读全文
posted @ 2025-12-18 15:03 夜说
阅读(3)
评论(0)
推荐(0)
2025年12月17日
176. 第二高的薪水
摘要: 点击查看代码 提示:max函数确保没有返回值时输出为null SELECT MAX(salary) AS SecondHighestSalary FROM ( SELECT DISTINCT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rn
阅读全文
posted @ 2025-12-17 15:36 夜说
阅读(1)
评论(0)
推荐(0)
2025年12月10日
Oracle单实例恢复到RAC数据库时没有设置set newname怎么办
摘要: 点击查看代码 可以使用switch database to copy; 解决
阅读全文
posted @ 2025-12-10 13:27 夜说
阅读(5)
评论(0)
推荐(0)
PG里面一条SQL的处理流程
摘要: 点击查看代码 客户端发起SQL语句,postmaster进程fork一个backend进程来对接(SQL语句会依次经过backed进程里面的解析器,分析器,重写器,计划器,执行器),最终返回处理的结果 一、一条sql语句(也就是一个字符串)会通过parsenode.h文件中的SelectStmt数据
阅读全文
posted @ 2025-12-10 11:39 夜说
阅读(11)
评论(0)
推荐(0)
2025年12月9日
postgresql random_page_cost的默认值设置问题
摘要: 点击查看代码 seq_page_cost默认值为1.0,是顺序扫描一个页的成本 random_page_cost默认值为4.0,是随机扫描一个页的成本 这是基于HDD(普通硬盘)设置的 现在SSD磁盘使用的更多, 所以当磁盘为SSD时,random_page_cost应设置为1.0
阅读全文
posted @ 2025-12-09 14:06 夜说
阅读(5)
评论(0)
推荐(0)
2025年11月19日
PG事务id回卷问题概述
摘要: 点击查看代码 说明: 0为无效事务id,1为initdb时的事务id,2为冻结事务id。 id1是旧的事务id, id2是新的事务id。 PG普通的事务id是3到2^32-1这个范围,当用到2^32-1时会回卷,会重新从3开始再次循环使用。 这在还没回卷时是没问题的,例如id1是100,id2是20
阅读全文
posted @ 2025-11-19 10:39 夜说
阅读(21)
评论(0)
推荐(0)
2025年11月6日
postgresql locale区域设置理解
摘要: 点击查看代码 一、LOCALE由三部分提供: 1、builtin ##postgresql软件内部提供 2、icu ##第三方提供(默认提供,./configure --without-icu将不可用) 3、libc ##操作系统提供(不同操作系统有所差异,例如叫glibc) 二、默认使用操作系统的
阅读全文
posted @ 2025-11-06 15:50 夜说
阅读(90)
评论(0)
推荐(0)
2025年11月4日
PG小版本升级步骤参考指导
摘要: 点击查看代码 小版本升级步骤:(例如12.2升级到12.3) 安装pg12.2到/usr/local/pg12.2里面,然后创建/usr/local/pg目录,ln -s /usr/local/pg /usr/local/pg12.2。 这样升级的时候安装pg12.3到/usr/local/pg12
阅读全文
posted @ 2025-11-04 16:28 夜说
阅读(15)
评论(0)
推荐(0)
2025年10月29日
Oracle set newname for database %b的作用
摘要: 点击查看代码 例如原数据库的目录是/data/aaa/user.dbf ,%b参数会读取到user.dbf而不读取/data/aaa/目录, 使用set newname for database可以指定新目录进行恢复。 run{ allocate channel c1 device type dis
阅读全文
posted @ 2025-10-29 16:41 夜说
阅读(15)
评论(0)
推荐(0)
postgresql vacuum流程总结
摘要: 点击查看代码 说明:oldestxmin是表上还在运行的事务中xmin最小的事务id 一、VACUUM正常情况下会以并发清理模式(VACUUM TABLE1;)进行,通过读取VM文件,获取有死元组的页面,清除这些死元组并重排页面内的活元组。 二、FREEZE冻结通常以懒惰模式伴随VACUUM的并发模
阅读全文
posted @ 2025-10-29 14:20 夜说
阅读(52)
评论(0)
推荐(0)
下一页
公告