一个扩展
是扩展 PostgreSQL 功能的代码和 SQL 对象包。
扩展支持是在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 维护的第三方扩展数据库