目录
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 |
许多扩展允许您在其选择的模式中安装其对象。为此,请将 SCHEMA
添加到 schema_name
CREATE EXTENSION
命令中。默认情况下,这些对象将放置在您当前的创建目标模式中,该模式又默认为 public
。
但是,请注意,其中一些组件在此意义上不是“扩展”,而是以其他方式加载到服务器中,例如通过 shared_preload_libraries。有关详细信息,请参阅每个组件的文档。
如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用此表单 报告文档问题。