目录
crosstab
等)TABLESAMPLE
的 SYSTEM_ROWS
采样方法TABLESAMPLE
的 SYSTEM_TIME
采样方法本附录和下一附录包含有关 PostgreSQL 分发版 contrib
目录中的可选组件的信息。这些组件包括移植工具、分析实用程序和插件功能,它们不是 PostgreSQL 核心系统的一部分。它们之所以单独存在,主要是因为它们面向的受众有限,或者过于实验性,无法成为主源树的一部分。但这并不妨碍它们的有用性。
本附录涵盖了 contrib
中的扩展和其他服务器插件模块库。 附录 G 涵盖了实用程序。
从源分发版构建时,这些可选组件不会自动构建,除非您构建 "world" 目标(请参阅 步骤 2)。您可以通过运行以下命令来构建和安装所有这些组件:
make
make install
在已配置的源树的 contrib
目录中;或者要仅构建和安装一个选定的模块,请在其子目录中执行相同的操作。许多模块都有回归测试,可以通过运行以下命令来执行:
make check
安装前或
make installcheck
一旦您运行了 PostgreSQL 服务器。
如果您使用的是预打包的 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。有关详细信息,请参阅每个组件的文档。
如果您在文档中发现任何不正确的内容,与您对特定功能的体验不符,或需要进一步澄清,请使用 此表单 报告文档问题。