CREATE EXTENSION
是一个用于创建扩展 的 DDL 命令。
CREATE EXTENSION
在PostgreSQL 9.1 中添加。
用法
CREATE EXTENSION
通过读取匹配的扩展控制文件并从扩展 SQL 文件或文件中创建数据库对象来创建扩展。
如果找不到匹配的扩展(因为扩展未安装或不存在),CREATE EXTENSION
将报告扩展的控制文件不存在。
如果找不到扩展,并且 PostgreSQL 是从系统软件包安装的,则可能需要安装相应的
contrib
软件包。更改历史记录
- PostgreSQL 13
CREATE EXTENSION … FROM …
语法已移除 (提交 70a77320)
- PostgreSQL 9.6
CREATE EXTENSION … CASCADE
语法已添加 (提交 b67aaf21)
- PostgreSQL 9.1
- 已添加 (提交 d9572c4e)
示例
CREATE EXTENSION
的基本用法示例
postgres=# CREATE EXTENSION pg_stat_statements; CREATE EXTENSION
在用户指定的模式中创建扩展
postgres=# CREATE EXTENSION pg_stat_statements WITH SCHEMA pgss; CREATE EXTENSION
在用户指定的模式中创建扩展在某些扩展中是不可能的
postgres=# CREATE EXTENSION adminpack WITH SCHEMA public; ERROR: extension "adminpack" must be installed in schema "pg_catalog"
创建扩展及其所有依赖项
postgres=# CREATE EXTENSION bool_plperlu CASCADE; NOTICE: installing required extension "plperlu" CREATE EXTENSION
尝试创建不存在的扩展(可能是因为它尚未安装)
postgres=# CREATE EXTENSION foo; ERROR: could not open extension control file "/usr/pgsql-11/share/extension/foo.control": No such file or directory
参考文献
- PostgreSQL 文档: CREATE EXTENSION