PostgreSQL源码1:select 1

/opt/pg18d/bin/psql -p 5435

postgres=# select pg_backend_pid();

pg_backend_pid


2543087

(1 row)

postgres=#

gdb postgres 2543087

gdb postgres 2543087

GNU gdb (Red Hat Enterprise Linux) 16.3-2.0.1.el9

Copyright (C) 2024 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html\>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Type "show copying" and "show warranty" for details.

This GDB was configured as "x86_64-redhat-linux-gnu".

Type "show configuration" for configuration details.

For bug reporting instructions, please see:

<https://www.gnu.org/software/gdb/bugs/\>.

Find the GDB manual and other documentation resources online at:

<http://www.gnu.org/software/gdb/documentation/\>.

For help, type "help".

Type "apropos word" to search for commands related to "word"...

postgres: No such file or directory.

Attaching to process 2543087

Reading symbols from /opt/pg18d/bin/postgres...

Reading symbols from /lib64/libz.so.1...

Reading symbols from /usr/lib/debug/usr/lib64/libz.so.1.2.11-1.2.11-40.el9.x86_64.debug...

Reading symbols from /lib64/libm.so.6...

Reading symbols from /usr/lib/debug/usr/lib64/libm.so.6-2.34-275.0.1.el9_8.x86_64.debug...

Reading symbols from /lib64/libicui18n.so.67...

Reading symbols from /usr/lib/debug/usr/lib64/libicui18n.so.67.1-67.1-10.el9_6.x86_64.debug...

Reading symbols from /lib64/libicuuc.so.67...

Reading symbols from /usr/lib/debug/usr/lib64/libicuuc.so.67.1-67.1-10.el9_6.x86_64.debug...

Reading symbols from /lib64/libc.so.6...

Reading symbols from /usr/lib/debug/usr/lib64/libc.so.6-2.34-275.0.1.el9_8.x86_64.debug...

Reading symbols from /lib64/ld-linux-x86-64.so.2...

Reading symbols from /lib64/libstdc++.so.6...

Reading symbols from /usr/lib/debug/usr/lib64/libstdc++.so.6.0.29-11.5.0-14.0.1.el9.x86_64.debug...

Reading symbols from /lib64/libgcc_s.so.1...

Reading symbols from /usr/lib/debug/usr/lib64/libgcc_s-11-20240719.so.1-11.5.0-14.0.1.el9.x86_64.debug...

Reading symbols from /lib64/libicudata.so.67...

Reading symbols from /usr/lib/debug/usr/lib64/libicudata.so.67.1-67.1-10.el9_6.x86_64.debug...

(No debugging symbols found in /usr/lib/debug/usr/lib64/libicudata.so.67.1-67.1-10.el9_6.x86_64.debug)

Thread debugging using libthread_db enabled

Using host libthread_db library "/lib64/libthread_db.so.1".

0x00007fef2410fdda in epoll_wait (epfd=6, events=0x2ef6990, maxevents=1, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30

30 return SYSCALL_CANCEL (epoll_wait, epfd, events, maxevents, timeout);

(gdb)

设置断点:

(gdb) b ExecResult

Breakpoint 1 at 0x7c6677: file nodeResult.c, line 69.

(gdb)

psql执行select 1;

postgres=# select 1;

gdb输入c

(gdb) c

Continuing.

Breakpoint 1, ExecResult (pstate=0x2fd3768) at nodeResult.c:69

69 ResultState *node = castNode(ResultState, pstate);

(gdb)

gdb输入bt

gdb输入list可以查看当前

gdb输入up,down

相关推荐
余槐i7 小时前
200万行表加索引锁死写入:PostgreSQL CONCURRENTLY 的三类等待与重建路径
数据库·postgresql·性能优化·索引·explain
杨云龙UP12 小时前
PostgreSQL 四种常见部署模式快速理解:单实例、流复制、repmgr、Patroni
linux·运维·数据库·postgresql·流复制·高可用ha
l1t13 小时前
DeepSeek总结的PostgreSQL 19回退会一直继续,直到士气好转
数据库·postgresql
胖头鱼的鱼缸(尹海文)1 天前
胖头鱼的技术专栏-474 从能跑到能上线:PG SplitJSON 0.2.0 和 0.1.0 差在哪(20261008)
postgresql·json
云贝贝贝1 天前
PostgreSQL 分区表:从设计到运维,大表不再卡
运维·数据库·postgresql
Knight_AL1 天前
PostgreSQL Docker 数据库备份:pg_dump 与 SQL 格式备份的区别
数据库·docker·postgresql
长春的KAKA1 天前
GitLab 项目页面报 500 错误的完整修复记录:PostgreSQL 数据库损坏、统计表缺失及数据库迁移
数据库·postgresql·gitlab
IvorySQL2 天前
VACUUM FULL 之后 ROWID 就废了? IvorySQL 兼容性实测
数据库·人工智能·ai·postgresql·开源
瀚高PG实验室2 天前
HGHAC集群VIP-MANAGER挂载的VIP消失
数据库·postgresql·瀚高数据库
jianjinwssy2 天前
PostgreSQL 进阶:索引、MVCC、VACUUM 与 WAL
数据库·postgresql