Hegwin.Me

南朝四百八十寺,多少楼台烟雨中。

为PostgresQL安装扩展程序

Install Extensions for Self-compiled PostgresQL

如果在安装Postgres时,选择下载源码编译安装,而 make 时又没有 make world,就会导致安装好的 pg 没有一些扩展功能,比如 pg_stat_statements。那么,这篇文章将尝试解决这个问题:如何在编译安装后,为pg安装扩展。

让我们以 pg_stat_statements 为例,看看如何操作。当然这里有个前提——没有删除当初用于编译 pg 的目录。

首先,看一下pg的源码目录,可以看到有一个名为 contrib的目录。

$ ls
aclocal.m4  config  config.log  config.status  configure  configure.in  contrib  COPYRIGHT  doc  GNUmakefile  GNUmakefile.in  HISTORY  INSTALL  Makefile  README  src

在这个目录中,我们可以看到扩展包:

$ cd contrib
$ ls

都在这里:

adminpack    btree_gist        dblink        fuzzystrmatch    intarray        Makefile        pgcrypto        pg_stat_statements  README  start-scripts  tsm_system_rows  xml2

auth_delay    chkpass            dict_int      hstore          isn            oid2name        pg_freespacemap  pgstattuple        seg      tablefunc      tsm_system_time

auto_explain  citext            dict_xsyn      hstore_plperl    lo              pageinspect    pg_prewarm      pg_trgm            sepgsql  tcn            unaccent

bloom        contrib-global.mk  earthdistance  hstore_plpython  ltree          passwordcheck  pgrowlocks      pg_visibility      spi      test_decoding  uuid-ossp

btree_gin    cube              file_fdw      intagg          ltree_plpython  pg_buffercache  pg_standby      postgres_fdw        sslinfo  tsearch2      vacuumlo

假设我们要安装pg_stat_statements,步骤相当简单,其他的扩展包也是类似的安装方式:

$ cd pg_stat_statements
$ make
$ sudo make install

官方文档在这里,一开始没有写明在哪里执行make && make install 所以比较confusing。

https://www.postgresql.org/docs/9.4/static/contrib.html

< Back