如果编译数据库时使用了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源代码中插件的使用的更多相关文章

  1. vs2015 活动解决方案或项目由选择的源代码管理插件以外的插件管理

    1.vs2015切换源代码管理插件,svn无法切换到git,点击是将关闭项目 解决方案: 找到项目中.sln 文件,使用编辑器打开,将Svn-Managed = true 设置为false

  2. 通过ABAP的标准功能,寻找源代码中的字符串

    程序名称: *ABAP_SOURCE_SCAN 查找 作用:通过这个标准程序,可以在系统的源代码中进行字符串的查找!

  3. PostgreSQL数据库中获取表主键名称

    PostgreSQL数据库中获取表主键名称 一.如下表示,要获取teacher表的主键信息: select pg_constraint.conname as pk_name,pg_attribute. ...

  4. 【转】如何单独编译Android源代码中的模块--不错

    原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...

  5. 把安卓源代码中的system app独立出来,像开发普通app那样开发

          个人建议首先依照android源码的ide/eclipse中的格式化xml和import导入到你编译的eclipse中,假设你编译的android源码是2.3以上的版本号的,建议用JDK6 ...

  6. 如何单独编译Android源代码中的模块

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...

  7. qemu-kvm-1.1.0源代码中关于迁移的代码分析

    这篇文档基于qemu-kvm-1.1.0源代码进行分析. 首先,源代码中的hmp-commands.hx文件里有下面内容: { .name = "migrate",/* 在moni ...

  8. 开源远程控制RealVNC源代码中的通讯协议RFB(远程帧缓冲)(转)

    在网上流传的gh0st3.6源代码中,远程桌面总是存在CPU占用率高和画面更新不及时等问题.于是想到了著名的开源远程控制RealVNC  它采用了远程帧缓存的协议(Remote Frame buffe ...

  9. Gogland配置- 去掉Go源代码中的参数提示

    Gogland处于好意,在Go源代码中对每个参数提示类型,这或许方便大家处理源代码,但是我觉得对于正常阅读源代码反而造成一种负担,我决定去掉这个功能! Gogland默认配置状态,有参数提示: 下面是 ...

随机推荐

  1. CCControlExtension/CCControlPotentiometer

    #ifndef __CCCONTROLPOTENTIOMETER_H__ #define __CCCONTROLPOTENTIOMETER_H__ #include "CCControl.h ...

  2. URAL 1297 后缀数组+线段树

    思路: 论文题--*n 倒过来接上 分奇偶讨论 求LCP 搞棵线段树即可 //By SiriusRen #include <cstdio> #include <cstring> ...

  3. JavaScript学习——DOM对象

    1.DOM操作 Document:整个html文件都称之为一个document文档 Element:所有的标签都是Element元素 Attribute:标签里面的属性 Text:标签中间夹着的内容为 ...

  4. C语言-100加减求和

    ----------------------------度娘的思路------------------------------------------------------ Action() { / ...

  5. 4月17日 (PS:由于时间问题,现在才发,望老师见谅)疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜

    疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容: 组员依次汇报自己的工作进度,并且提出自己在进行任务的过程中遇到的问题,是否解决以及解决办法. 以下 ...

  6. WPF内嵌WCF服务对外提供接口

    要测试本帖子代码请记得管理员权限运行vs. 我写这个帖子的初衷是在我做surface小车的时候有类似的需求,感觉这个功能还挺有意思的,所以就分享给大家,网上有很多关于wcf的文章 我就不一一列举了.公 ...

  7. js上传文件获取文件流

    上传文件获取文件流 <div> 上传文件 : <input type="file" name = "file" id = "file ...

  8. vue-cli#2.0项目结构分析

    项目结构 build 构建工具相关的目录 config 配置目录 dist 通过工具打包生成的最终需要上线的目录 node_modules 存放本地开发所有的依赖包的目录 src 源码目录 stati ...

  9. 洛谷P4994 终于结束的起点

    希望是这道题的第一篇题解,并且真的做到了! upd 2018/11/4:规律补锅,让代码更加易懂 本来月赛时想打个表,打到一半,发现\(n\)稳定在\(m\)附近? 题目的意思是\(n < m ...

  10. Adobe Flex迷你教程 —Flex4全屏显示

    应用场景 1.播放器 我们经常看视频的时候,需要全屏显示,(在flex中这个视频初始化的时候是嵌入到html的iframe中). 2.监控 如下图所示,大多时候我们的监控用的是flex,而树形菜单和标 ...