目录
old_snapshot_threshold
状态交叉表
及其他)SYSTEM_ROWS
采样方法用于TABLESAMPLE
SYSTEM_TIME
采样方法用于TABLESAMPLE
本附录和下一个附录包含有关contrib
目录中可选组件的信息,
该目录是PostgreSQL发行版的一部分。
这些组件包括移植工具、分析实用程序以及不属于核心PostgreSQL系统的插件功能。
它们之所以被分离,主要是因为它们针对的受众有限,或者过于实验性,
无法成为主源代码树的一部分。这并不影响它们的实用性。
本附录介绍了在contrib
中找到的扩展和其他服务器插件模块库。
附录 G介绍了实用程序。
当从源代码分发包构建时,这些可选组件不会自动构建, 除非您构建“world”目标(请参阅步骤 2)。 您可以通过运行以下命令来构建并安装所有组件:
make
make install
在已配置的源代码树的contrib
目录中;
或者要仅构建和安装一个选定的模块,请在该模块的子目录中执行相同操作。
许多模块都有回归测试,可以通过运行以下命令来执行:
make check
在安装之前,或者在您有一个PostgreSQL 服务器运行后,通过运行以下命令:
make installcheck
来执行。
如果您使用的是预先打包的PostgreSQL版本,
这些组件通常作为一个单独的子包提供,例如postgresql-contrib
。
许多组件提供了新的用户定义函数、操作符或类型, 这些都被打包为扩展。 要使用这些扩展中的一个,在安装代码之后, 需要在数据库系统中注册新的SQL对象。 这是通过执行 CREATE EXTENSION命令完成的。在一个新的数据库中, 你可以简单地执行
CREATE EXTENSION extension_name
;
这个命令仅在当前数据库中注册新的SQL对象,
因此你需要在每个希望扩展功能可用的数据库中运行它。
或者,可以在数据库template1
中运行它,
这样扩展将默认被复制到随后创建的数据库中。
对于所有扩展,CREATE EXTENSION
命令必须由数据库超级用户运行,
除非该扩展被认为是“可信的”。可信的扩展可以由任何在当前数据库上拥有
CREATE
权限的用户运行。被认为可信的扩展将在后续章节中标明。
通常,可信的扩展是那些无法提供数据库外部功能访问的扩展。
以下扩展在默认安装中是受信任的:
btree_gin | fuzzystrmatch | ltree | tcn |
btree_gist | hstore | pgcrypto | tsm_system_rows |
citext | intarray | pg_trgm | tsm_system_time |
cube | isn | seg | unaccent |
dict_int | lo | tablefunc | uuid-ossp |
许多扩展允许您将它们的对象安装到您选择的模式中。为此,请在
CREATE EXTENSION
命令中添加SCHEMA
。默认情况下,这些对象将被放置在
您当前的创建目标模式中,而当前的默认模式是schema_name
public
。
请注意,其中一些组件在这个意义上并不是“扩展”,而是通过其他方式加载到 服务器中,例如通过 shared_preload_libraries。有关详细信息,请参阅每个组件的文档。