F. 附加模块
From PostgreSQL 中文维基, PostgreSQL 中文站, PostgreSQL 中国社区, PostgreSQL Chinese community
附录 F. 额外的附加模块
内容
- adminpack
- btree_gist
- chkpass
- cube
- dblink
- dict_int
- dict_xsyn
- earthdistance
- fuzzystrmatch
- hstore
- intagg
- intarray
- isn
- lo
- ltree
- oid2name
- pageinspect
- pgbench
- pg_buffercache
- pgcrypto
- pg_freespacemap
- pgrowlocks
- pg_standby
- pgstattuple
- pg_trgm
- seg
- spi
- sslinfo
- tablefunc
- test_parser
- tsearch2
- uuid-ossp
- vacuumlo
- xml2
这份附录包含 PostgreSQL 发布中 contrib 目录里面的模块的相关信息。这些模块包括移植工具,分析工具,以及一些插件特性。这些功能都不是 PostgreSQL 核心系统的一部分,很大程度上是因为它们只服务于相当有限的一些用户,或者是太过实验性,不合适放在主代码树中。但是这些因素并不影响它们的有用性。
如果从源代码发布里制作的时候,这些模块不会自动制作。你可以在一个已经配置好了的源代码树的contrib目录里,通过运行下面命令制作和安装它们
gmake gmake install
或者只是制作和安装选定的一个模块,方法是在该模块的子目录里执行上面的命令。许多模块也有回归测试,我们可以通过运行下面命令来执行
gmake installcheck
只要你的 PostgreSQL 服务器在运行。(请注意,不支持 gmake check;你必须先有一个可操作的数据库服务器才能执行这些测试,并且你必须先制作和安装要测试的模块。
如果你使用的是预打包的 PostgreSQL 版本,这些模块通常是以独立的子包的形式出现的,比如 postgresql-contrib。
许多模块提供新的用户定义函数、操作符或者类型。要使用某个模块,你需要先安装模块,然后在数据库系统里头注册新的对象,方法是运行模块里提供的 .sql 文件。比如,
psql -d dbname -f SHAREDIR/contrib/module.sql
上面这个命令里,SHAREDIR 意思是安装的“share”目录(pg_config --sharedir 将会报告这个目录)。
你需要在所有希望使用这个模块的数据库上运行这个 .sql 文件。另外,如果在 template1 里头运行这个SQL文件的话,那么缺省情况下,在随后创建的数据库里都会拷贝这个模块。
你可以修改 .sql 文件里的第一条命令,以决定该模块的对象会创建在数据库的那个模式里。缺省的时候,它们会放在 public 模式里。
在升级了一个 PostgreSQL 主版本号之后,需要再次运行安装脚本,即使是转储和恢复可能已经恢复了模块对象也应该这么做。这样可以保证新函数肯定可用,并且任何需要的纠正也可以施加入新版本数据库。
