文档章节

postgresql调试之关闭优化器

Hello_Boost
 Hello_Boost
发布于 2016/01/07 21:17
字数 233
阅读 54
收藏 0
  1. 开启优化器选项时的gdb状态

    gdb调试,需要打印出某个值时,出现“value optimized out”,这是是由于gcc默认开启了优化器所致。

(gdb) p found
$1 = <value optimized out>

    2.  关闭优化器后的gdb状态

        编辑src/Makefile.global文件,删除-O2选项

CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g

       重行编译安装、重启服务

sudo make install
pg_ctl stop -D /pgdata
pg_ctl start -D /pgdata

        attach postgres进程

[minmin@localhost ~]$ gdb attach 81968

        设置断点

(gdb) b pg_analyze_and_rewrite
Breakpoint 1 at 0x78755f: file postgres.c, line 666.

        在psql端执行SQL语句

postgres=# select * from t1;

        打印query

(gdb) p *query

   

© 著作权归作者所有

Hello_Boost
粉丝 1
博文 14
码字总数 4803
作品 0
高级程序员
私信 提问
PostgreSQL技术周刊第16期:PostgreSQL 优化器代码概览

PostgreSQL(简称PG)的开发者们: 云栖社区已有5000位PG开发者,发布了3000+PG文章(文章列表),沉淀了700+的PG精品问答(问答列表)。 PostgreSQL技术周刊将会为大家介绍最新的PG技术与动...

萌萌怪兽
02/25
0
0
PostgreSQL 多查询条件,多个索引的选择算法与问题诊断方法

标签 PostgreSQL , 多列条件 , 多索引 , 单列索引 , 复合索引 , 联合索引 , 优化器 , 评估 , 行评估 , 成本 背景 当一个SQL中涉及多个条件,并且多个条件有多种索引可选时,数据库优化器是如...

德哥
2018/04/18
0
0
EDB PPAS(Oracle 兼容版) Oracle与PostgreSQL 兼容模式的参数配置切换

标签 PostgreSQL , EDB , PPAS , 参数 , Oracle模式 , PostgreSQL模式 背景 EDB PPAS是EDB推出的一款同时兼容Oracle和PostgreSQL协议的数据库,在去O的场景中,使用非常广泛,价格便宜,同时...

德哥
2018/05/06
0
0
PostgreSQL 空间类型统计信息(Statistics, Cardinality, Selectivity, Estimate)不准确导致SQL执行计划不准(包含、相交查询)的优化实践

标签 PostgreSQL , 空间类型 , 统计信息 , 包含查询 , 相交查询 , BOUND , index , x , y 背景 PostgreSQL 通过几何类型以及PostGIS插件,支持丰富的空间类型,空间数据类型包括KNN检索,空间...

德哥
2018/10/05
0
0
postgresql数据库体系结构

postgresql数据库是由:连接管理系统(系统控制器)、编译执行系统、存储管理系统、事务系统、系统表 五大部分组成。 ①:连接管理系统:接收外部操作对系统的请求,对操作请求进行预处理和分...

一个笨小孩
2018/07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

android6.0源码分析之Camera API2.0下的Preview(预览)流程分析

本文将基于android6.0的源码,对Camera API2.0下Camera的preview的流程进行分析。在文章android6.0源码分析之Camera API2.0下的初始化流程分析中,已经对Camera2内置应用的Open即初始化流程进...

天王盖地虎626
8分钟前
0
0
java 序列化和反序列化

1. 概述 序列恢复为Java对象的过程。 对象的序列化主要有两 首先我们介绍下序列化和反序列化的概念: 序列化:把Java对象转换为字节序列的过程。 反序列化:把字节序列恢复为Java对象的过程。...

edison_kwok
20分钟前
0
0
分布式数据一致性

狼王黄师傅
今天
1
0
经验

相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……最近开发者 Tomasz Łakomy 将他 7 年的开发生涯中学习到...

WinkJie
今天
4
0
从源码的角度来看SpringMVC

SpringMVC核心流程图 简单总结 首先请求进入DispatcherServlet 由DispatcherServlet 从HandlerMappings中提取对应的Handler 此时只是获取到了对应的Handle,然后得去寻找对应的适配器,即:H...

骚年锦时
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部