一个 扩展
是一个代码和 SQL 对象包,用于扩展 PostgreSQL 功能。
扩展支持在 PostgreSQL 9.1 中引入。
psql
可以使用斜杠命令 \dx
列出可用的扩展;\dx+ 列出每个扩展及其关联的对象。请参见下面的示例。
系统目录对象
表
视图
函数
Contrib 模块
许多 contrib 模块 都是作为扩展实现的。
在提交 629b3af2 中,将合适的现有 contrib 模块批量转换为扩展。
更改历史记录
- PostgreSQL 16
@extschema:name@
和no_relocate
选项已添加(提交 72a5b1fc)
- PostgreSQL 13
- PostgreSQL 10
- PostgreSQL 9.1
- 许多 contrib 模块 已转换为扩展(提交 629b3af2)
- 已添加(提交 d9572c4e)
示例
列出已安装的扩展
postgres=# \dx List of installed extensions Name | Version | Schema | Description --------------------+---------+------------+----------------------------------------------------------- pg_stat_statements | 1.7 | public | track execution statistics of all SQL statements executed plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (2 rows)
列出已安装的扩展及其关联的对象
postgres=# \dx+ Objects in extension "pg_stat_statements" Object description --------------------------------------------------- function pg_stat_statements(boolean) function pg_stat_statements_reset(oid,oid,bigint) view pg_stat_statements (3 rows) Objects in extension "plpgsql" Object description ------------------------------------------- function plpgsql_call_handler() function plpgsql_inline_handler(internal) function plpgsql_validator(oid) language plpgsql (4 rows)
参考文献
- PostgreSQL 文档: 将相关对象打包到扩展中
- PostgreSQL 文档: 扩展构建基础设施
- PostgreSQL 文档: CREATE EXTENSION
- PostgreSQL 文档: ALTER EXTENSION
- PostgreSQL 文档: DROP EXTENSION
有用链接
- postgresql_extension_support - 由 Evan H. Stanton 维护的第三方扩展数据库