Appendix F. 额外提供的模块

Table of Contents
F.1. adminpack
F.2. auto_explain
F.3. btree_gin
F.4. btree_gist
F.5. chkpass
F.6. citext
F.7. cube
F.8. dblink
F.9. dict_int
F.10. dict_xsyn
F.11. earthdistance
F.12. fuzzystrmatch
F.13. hstore
F.14. intagg
F.15. intarray
F.16. isn
F.17. lo
F.18. ltree
F.19. oid2name
F.20. pageinspect
F.21. passwordcheck
F.22. pg_archivecleanup
F.23. pgbench
F.24. pg_buffercache
F.25. pgcrypto
F.26. pg_freespacemap
F.27. pgrowlocks
F.28. pg_standby
F.29. pg_stat_statements
F.30. pgstattuple
F.31. pg_trgm
F.32. pg_upgrade
F.33. seg
F.34. spi
F.35. sslinfo
F.36. tablefunc
F.37. test_parser
F.38. tsearch2
F.39. unaccent
F.40. uuid-ossp
F.41. vacuumlo
F.42. xml2

这个附录包含contrib路径下相关模块的信息。 包括移植工具,分析工具和插件工具,他们不是PostgreSQL核心系统的一部分,主要因为 只有很少的用户会用到。但不会影响它们的使用。

当从源码发布包编译时,这些模块不会自动编译,除非编译了“world”目标(参阅step 2)。 可以在配置的源代码树中的contrib路径下,通过下面的命令编译安装:

gmake
gmake install

或在模块的子目录下,有选择的编译安装模块。许多模块都有回归测试,在PostgreSQL服务器在运行时,可以通过下面的命令执行:

gmake installcheck

需要注意的是,不支持gmake check;必须有一个可操作的数据库服务器来运行这些测试, 并且必须已经编译安装了这个或这些要测试的模块。

如果是用的是预打包版的PostgreSQL,这些模块可以作为一个单独的子包来获得, 如postgresql-contrib

许多模块支持新的用户自定义函数,操作符,或数据类型。 在已经安装了代码之后,为了使用这些模块,需要在数据库系统中注册新的对象,通过运行模块目录下提供的.sql文件中的SQL命令,如;

psql -d dbname -f SHAREDIR/contrib/module.sql

在此,SHAREDIR表示安装的"share"路径(pg_config --sharedir 会指出它是什么)。 在多数情况下,必须使用数据库超级用户来运行这个脚本。

需要在每个你想使用该模块的数据库中运行这个.sql脚本。 另外,在template1数据库中运行这个脚本,以便这个模块可以被复制到缺省随后创建的数据库中。

可以通过调整.sql文件中的第一条命令来决定想在数据库中的那个模式下进行创建。 缺省使用的是public

PostgreSQL主版本升级之后,再次运行安装脚本,即使通过转储恢复已经有了这个模块。 这是为了保证那些新的函数是可用的,并且任何必要的更正将被应用。