![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
djgclzdyc
PostgreSQL、linux C/C++
展开
-
PG postgresql原理基础数据结构总结(数据库内核分析)
是查询编译的第一个模块,包含词法分析、语法分析(生成分析树)和语义分析(得到查询树)三个部分。它将用户输入的SQL命令转换为查询树(Query结构)。词法分析和语法分析分别借助词法分析工具Lex和语法分析工具Yacc(flex)来完成各自的工作。pg_analyze_and_rewrite对分析树进行。和重写(pg_rewrite_query)。操作的开销最大,因此,查询优化要处理的问题。由于在整个查询执行过程中,在于如何计算最后的表连接路径。原创 2023-02-06 11:40:39 · 1191 阅读 · 0 评论 -
postgis flex词法分析器 多线程并发执行 bison .l .y 可重入 选项
l 词法规则定义文件。原创 2022-11-21 17:07:49 · 166 阅读 · 0 评论 -
SPI_execute c程序代码里执行sql语句
调用多次SPI_execute 来执行多条sql。SPI_connect()之后。原创 2022-11-10 18:09:38 · 114 阅读 · 0 评论 -
CN节点信息 共享内存存储 中心CN
分布式节点原创 2022-11-10 15:54:29 · 97 阅读 · 0 评论 -
PG日志级别
WARNING日志打印内容 会写入日志文件,也会显示到应用层,比如psql或数据库jdbc odbc连接客户端;ERROR会导致堆栈跳转重置FATAL会导致服务进程退出原创 2021-07-14 09:57:29 · 569 阅读 · 0 评论 -
postgresql 会话
一个psql连接到数据库算作一个会话,与一个应用层进程关联。\q退出会话。原创 2021-06-21 16:13:12 · 415 阅读 · 0 评论 -
postgresql 查询锁信息
pg_lock_status -> GetLockStatusData原创 2021-05-04 16:57:30 · 483 阅读 · 0 评论 -
WAL XLOG读取 写入 起始/开始 LSN位置 相关全局变量 函数
ReadRecPtr = xlogreader->ReadRecPtr; EndRecPtr = xlogreader->EndRecPtr;Insert->PrevBytePos = XLogRecPtrToBytePos(LastRec);Insert->CurrBytePos = XLogRecPtrToBytePos(EndOfLog);XLogWrite搜索 INSERT @ 可知道在执行 XLogInsertRecordcheckPoint.re.原创 2021-03-19 17:31:49 · 315 阅读 · 0 评论 -
postgresql打印日志 编译 安装
fprintf(stderr, _(“Try “%s --help” for more information.\n”), progname);fatal_errorelog(LOG, “ReadPageInternal pageptr %X/%X reqLen %d”, (uint32) (pageptr >> 32), (uint32) pageptr, reqLen);ereport(DEBUG1, (errmsg("%s(%s) state:%d", func, c->des原创 2021-03-18 12:06:00 · 1720 阅读 · 0 评论 -
postgresql pg_waldump报错
pg_waldump: FATAL: error in WAL record at 0/16E46B8: invalid record length at 0/16E46F8: wanted 32, got 0pg_waldump: FATAL: error in WAL record at 0/16E3E78: unexpected pageaddr 0/16C8000 in log segment 000000000000000000000001, offset 7225344 report_i原创 2021-03-18 09:34:31 · 1105 阅读 · 0 评论 -
hexdump查看分析wal文件xlog 页头
[uxdb@localhost bin]$ hexdump -C -s 0x6E46F8 -n 58 rec1/instances/1/ux_wal/000000010000000000000001006e46f8 3a 00 00 00 00 00 00 00 b8 46 6e 01 00 00 00 00 |:…Fn…|006e4708 01 00 00 00 00 00 00 00 10 08 00 00 c7 94 10 6f |…o|006e4718 ff 18 00 00 0原创 2021-03-17 18:34:21 · 123 阅读 · 0 评论 -
write写文件到磁盘、刷盘相关系统函数、标志
O_SYNC 每个write调用会自动将文件数据和元数据刷新到磁盘上,Synchronized I/O file integrity completionO_DSYNC Synchronized I/O data integrity completionO_RSYNCfsync()fdatasync() 可能会减少磁盘I/O操作的次数sync()PostgreSQL 同步磁盘文件参数sync_method.conf文件里配置:#fsync = on原创 2021-03-09 17:34:28 · 943 阅读 · 0 评论 -
事务退出、提交,相关XLOG全部刷磁盘
调用exec_simple_query finish_xact_command CommitTransactionCommand CommitTransaction RecordTransactionCommit XLogFlush原创 2021-03-09 16:18:59 · 73 阅读 · 0 评论 -
postgresql宏定义 宏函数 格式化打印 数据块标记tag
#define BufferTag_Format “(%u/%u/%u-%d-%u)”#define BufferTag_Print(tag) (tag).rnode.spcNode, (tag).rnode.dbNode, (tag).rnode.relNode, (tag).forkNum, (tag).blockNum原创 2021-03-02 16:33:19 · 275 阅读 · 0 评论 -
postgresql查询 后台代码定义函数
uxdb=# select get_all_pi_records();get_all_pi_records(1663/13229/16384-0-0:2,0,7)(1 row)uxdb=# select * from get_all_pi_records();PITag | nchain | flag------------------------±-------±-----1663/13229/16384-0-0:2 | 0 | 7(1 row)uxdb原创 2021-03-02 10:51:06 · 289 阅读 · 0 评论 -
gdb x命令查看内存 postgresql页面内容,hexdump命令查看二进制文件内容
heapgetpage (scan=0x7080318, page=0) at heapam.c:384384 scan->rs_cblock = page;(gdb)386 if (!scan->rs_pageatatime)(gdb)389 buffer = scan->rs_cbuf;(gdb)390 snapshot = scan->rs_snapshot;(gdb)395 heap_page_prune_opt(scan-&g原创 2021-02-26 17:13:53 · 502 阅读 · 0 评论 -
pgsql 并发下发、执行sql命令,标准错误 重定向到
./uxsql -p 1212 -c “select ux_aocs_relation_filepath(‘t_dns’);” > ux_aocs_relation_filepath.txt& 是后台执行的意思uxsql -c “update t1 set info = ‘PG中的隔离级别遵守了sql标准567’;” &uxsql -p 5433 -c “update t1 set info = ‘PG中的隔离级别遵守了sql标准567’;” &uxsql -p 5原创 2021-01-29 11:43:04 · 802 阅读 · 0 评论 -
PostgreSQL哈希表相关操作
hash_seq_init 遍历哈希表初始化hash_seq_search 遍历哈希表原创 2021-01-26 12:09:00 · 534 阅读 · 0 评论 -
Oracle数据库积累
SGA(System Global Area):由所有服务进程和后台进程共享;是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。SGA主要由数据高速缓冲区(Database Buffer Cache)、共享池原创 2020-12-23 11:05:58 · 86 阅读 · 0 评论 -
Architecture of a Database System
Foundations and Trends in DatabasesVol. 1, No. 2 (2007) 141–2592007 J. M. Hellerstein, M. Stonebraker and J. HamiltonDOI: 10.1561/1900000002AbstractDatabase Management Systems (DBMSs) are a ubiquitous [juːˈbɪkwɪtəs] 似乎无所不在的/十分普遍的 and critical componen原创 2020-11-27 15:01:24 · 382 阅读 · 0 评论 -
postgresql不考虑可见性、读取脏页、物理页、被删除/更新的元组
编译、安装 pg_dirtyread插件。在 pg_dirtyread插件报解压目录执行:makemake install之后pgsql连接后,执行 CREATE EXTENSION pg_dirtyread;执行参考pg_dirtyread插件报解压目录README.md文件内容执行select命令。加粗为表名,表属性名和属性类型(可使用\d 表名 查看)select * FROM ux_dirtyread('ux_type’::regclass) as t(tableoid oid, ct原创 2020-10-27 18:25:59 · 388 阅读 · 0 评论 -
数据库术语
BOC Broadcast On Commit原创 2020-10-12 16:24:25 · 152 阅读 · 0 评论 -
数据库资料汇总
oracle官方文档《数据库系统基础教程》《数据库系统实现》《Architecture of a Database System》postgresql官方文档原创 2020-04-24 11:49:04 · 237 阅读 · 0 评论