08 2021 档案
摘要:【整体流程】 预处理(preprocessing) cpp/ gcc -E 编译(compilation) cc1 / gcc -S 汇编(assembly) as 连接(linking) ld 参考 https://zhuanlan.zhihu.com/p/39219541
阅读全文
摘要:【代码demo】 打印0,3 gcc -S 文件.c的汇编码 【规则】 static局部变量的初始化语句只会执行一次,下次再运行该初始化语句就不会被初始化,但是它可以被多次赋值。 【静态局部变量的特性】 存储位置:处于静态存储区,当用 static 修饰局部变量的时候,它就改变了局部变量的存储位置,
阅读全文
摘要:checkpoint主要逻辑 1)获取checkpoint数据,从ShmemVariableCache里读 2)刷12类buff数据到磁盘 3)增加一个做checkpoint的xlog 4)更新controlFile,288字节 5)计算出不需要的segNo,根据文件名删除老的文件 【其他】 1)c
阅读全文
摘要:查询系统字段 select attname, attnum, atttypid::regtype, attisdropped::text from pg_attribute where attrelid = 't1'::regclass; attname | attnum | atttypid |
阅读全文
摘要:1)调用栈 2)主要就是创建了base/db/表名物理文件 base/12057/16387 参考:https://blog.csdn.net/yanzongshuai/article/details/107679206
阅读全文
摘要:测试方法 1)插入100条数据 create table t1(id int,c1 varchar(50)); insert into t1 select generate_series(1,100),'#abcd#'; select count(*) from t1; 2)事务1 begin; s
阅读全文
摘要:wal文件结构 PG使用无符号64bit整型(uint64)作为日志文件的寻址空间,理论上来说,如果只有一个日志文件,那么这个事务日志文件的大小最大为2^64Bytes(即16M*1TB=16EB)。为了高效管理事务日志文件,PG把日志文件划分为N个大小为16M(默认值)的WAL segment f
阅读全文
摘要:参考https://blog.csdn.net/zhangjs0322/article/details/39666889 编译器默认没有把宏定义扩展信息编译进二进制文件。 通过man gcc查看说明,如下 编译时需添加-gdwarf-2和-g3两个参数。 加了-g3的参数后,gcc编译的时候,会将扩
阅读全文

浙公网安备 33010602011771号