PostgreSQL源代码中插件的使用
如果编译数据库时使用了gmake world和gmake install-world, 所有的插件都会被安装, 那么就不需要再次安装了.
插件目录
contrib
进入要安装的插件目录, 例如
cd contrib/pg_freespacemap
把pg_config命令加入到默认路径中
export PATH=/opt/pgsql/bin:$PATH
gmake clean
gmake
gmake install -- 这一步会将生成的动态库文件拷贝到pgsql的lib目录, 同时拷贝生成的扩展文件到
$PGHOME/share/extension中.
安装完后, 到数据库中以超级用户执行create extension
create extension pg_freespacemap;
根据第三方插件提供的安装说明进行安装
通用的安装方法
1. 把第三方插件的源码目录拷贝到contrib目录中
2. 把pg_config加入到PATH中
3. gmake clean; gmake; gmake install
4. create extension xxx; 对于一些老版本的插件, 可能没有改成扩展插件的安装模式. 那么需要到对应的库中直接执行SQL.
第三方插件的安装和使用
可到git.postgresql.org下载第三方插件源码
PostgreSQL 特性的测试可以参照PostgreSQL源码中提供的测试脚本进行测试
src/test/regress/sql
auto_explain插件的使用
auto_explain的目的是给数据库中执行的SQL语句一个执行时间阈值, 超过阈值的话, 记录下当时这个SQL的执行计划到日志中, 便于未来查看这个SQL执行计划有没有问题.
export PAHT=/home/pg93/pgsql/bin:$PATH
which pg_config
cd /opt/soft_bak/postgresql-9.3.4/contrib/auto_explain/
gmake clean
gmake
gmake install
1. 修改配置文件postgresql.conf:
shared_preload_libraries = 'auto_explain'
新增如下配置:
auto_explain.log_min_duration = 0 # 为了方便查看,这里把时间设置为0,所有SQL都会被auto_explain捕获输出.实际使用的时候适当调大。如 100ms
auto_explain.log_analyze = true
# 以下可选
auto_explain.log_verbose = true
auto_explain.log_buffers = true
auto_explain.log_nested_statements = true
重新启动PostgreSQL数据库
pg_stat_statements 安装
在postgreSQL数据库安装完之后
编辑postgresql.conf
shared_preload_libraries=‘pg_stat_statements,auto_explain’;
pg_stat_statements.max = 1000
pg_stat_statements.tarck =all
auto_explain.log_min_duration = ‘10s’
auto_explain.log_analyze = false
auto_explain.log_verbose = false
auto_explain.log_nested_statements = true
(for auto_explain;cd conttrib make ;make install)
cd /contrib/pg_stat_statemetns
make
make install
重新启动数据库
Pg_ctl –D ../data start
链接数据库
./psql
create extension pg_stat_statements;
select pg_stat_statements_reset();
然后是SQL操作
\d pg_stat_statements
select query,total_time,calls,from pg_stat_statements order by 3 desc limit 2;
即出现SQL语句的执行时间和执行次数;
(auto_explain的结果可以通过日志查看)
搜索
复制
PostgreSQL源代码中插件的使用的更多相关文章
- vs2015 活动解决方案或项目由选择的源代码管理插件以外的插件管理
1.vs2015切换源代码管理插件,svn无法切换到git,点击是将关闭项目 解决方案: 找到项目中.sln 文件,使用编辑器打开,将Svn-Managed = true 设置为false
- 通过ABAP的标准功能,寻找源代码中的字符串
程序名称: *ABAP_SOURCE_SCAN 查找 作用:通过这个标准程序,可以在系统的源代码中进行字符串的查找!
- PostgreSQL数据库中获取表主键名称
PostgreSQL数据库中获取表主键名称 一.如下表示,要获取teacher表的主键信息: select pg_constraint.conname as pk_name,pg_attribute. ...
- 【转】如何单独编译Android源代码中的模块--不错
原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...
- 把安卓源代码中的system app独立出来,像开发普通app那样开发
个人建议首先依照android源码的ide/eclipse中的格式化xml和import导入到你编译的eclipse中,假设你编译的android源码是2.3以上的版本号的,建议用JDK6 ...
- 如何单独编译Android源代码中的模块
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...
- qemu-kvm-1.1.0源代码中关于迁移的代码分析
这篇文档基于qemu-kvm-1.1.0源代码进行分析. 首先,源代码中的hmp-commands.hx文件里有下面内容: { .name = "migrate",/* 在moni ...
- 开源远程控制RealVNC源代码中的通讯协议RFB(远程帧缓冲)(转)
在网上流传的gh0st3.6源代码中,远程桌面总是存在CPU占用率高和画面更新不及时等问题.于是想到了著名的开源远程控制RealVNC 它采用了远程帧缓存的协议(Remote Frame buffe ...
- Gogland配置- 去掉Go源代码中的参数提示
Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! Gogland默认配置状态,有参数提示: 下面是 ...
随机推荐
- jQuery操作元素的属性与样式
本文学习如何使用jQuery获取和操作元素的属性和CSS样式. 元素属性和Dom属性 对于下面这样一个标签元素: <img id='img' src="1.jpg" alt= ...
- awk双文件互相匹配查找
awk双文件互相匹配查找 要求: 文件a: 10/05766798607,11/20050325191329,29/0.1,14/05766798607 10/05767158557,11/200 ...
- 如何将MVC AREA中的某一个页设为起始页
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.Ignore ...
- java代码递归部门结构树
组织所有部门树,以及条件查询部门树: /** * 组织部门树 * @return */ @Override public List<SxyBranchVO> findAllBranchTr ...
- frameset宽屏居中写法
在写frameset的时候发现页面较小的时候不能在屏幕上居中,记录一下frameset页面居中的写法 <frameset cols="*,1280,*" frameborde ...
- Python内置数据结构之列表list
1. Python的数据类型简介 数据结构是以某种方式(如通过编号)组合起来的数据元素(如数.字符乃至其他数据结构)集合.在Python中,最基本的数据结构为序列(sequence). Python内 ...
- Html标记语言学习一2017年6月12日
今天主要学习了 frame的用法. <frameset> 可以将网页分成几个不同的部分 使用 cols 和 rows 两种标记.前者是列,后者是行 <frame/> 单标 ...
- LINUX命令LS -AL 解析
LINUX命令LS -AL 解析 linux命令ls -al 解析 ls是“list”的意思,与早期dos的命令dir功能类似.参数-al则表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为. ...
- caioj 1153 扩展欧几里德算法(解不定方程)
模板题 注意exgcd函数要稍微记一下 #include<cstdio> #include<cctype> #include<algorithm> #define ...
- 紫书 习题 11-16 UVa 1669(树形dp)
想了很久, 以为是网络流最大流, 后来建模建不出来, 无奈. 后来看了 https://blog.csdn.net/hao_zong_yin/article/details/79441180 感觉思路 ...