目录
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 的方式。有关详细信息,请参阅每个组件的文档。
如果您在文档中发现任何不正确、与您在特定功能上的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。