为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