附录 F. 附加提供的模块和扩展
目录
- F.1. adminpack — pgAdmin 支持工具包
- F.2. amcheck — 验证表和索引一致性的工具
- F.3. auth_delay — 在身份验证失败时暂停
- F.4. auto_explain — 记录慢查询的执行计划
- F.5. basebackup_to_shell — 示例“shell”pg_basebackup 模块
- F.6. basic_archive — 示例 WAL 归档模块
- F.7. bloom — 布隆过滤器索引访问方法
- F.8. btree_gin — 具有 B 树行为的 GIN 运算符类
- F.9. btree_gist — 具有 B 树行为的 GiST 运算符类
- F.10. citext — 不区分大小写的字符字符串类型
- F.11. cube — 多维立方体数据类型
- F.12. dblink — 连接到其他 PostgreSQL 数据库
- dblink_connect — 打开到远程数据库的持久连接
- dblink_connect_u — 以不安全的方式打开到远程数据库的持久连接
- dblink_disconnect — 关闭到远程数据库的持久连接
- dblink — 在远程数据库中执行查询
- dblink_exec — 在远程数据库中执行命令
- dblink_open — 在远程数据库中打开游标
- dblink_fetch — 从远程数据库中打开的游标中返回行
- dblink_close — 在远程数据库中关闭游标
- dblink_get_connections — 返回所有打开的已命名 dblink 连接的名称
- dblink_error_message — 获取指定连接上的最后错误消息
- dblink_send_query — 向远程数据库发送异步查询
- dblink_is_busy — 检查连接是否正在执行异步查询
- dblink_get_notify — 检索连接上的异步通知
- dblink_get_result — 获取异步查询结果
- dblink_cancel_query — 取消指定连接上的任何活动查询
- dblink_get_pkey — 返回关系主键字段的位置和字段名称
- dblink_build_sql_insert — 使用本地元组构建 INSERT 语句,用其他提供的替换主键字段值
- dblink_build_sql_delete — 使用提供的用于主键字段值的值构建 DELETE 语句
- dblink_build_sql_update — 使用本地元组构建 UPDATE 语句,用其他提供的替换主键字段值
- F.13. dict_int — 整数示例全文搜索词典
- F.14. dict_xsyn — 同义词示例全文搜索词典
- F.15. earthdistance — 计算大圆距离
- F.16. file_fdw — 访问服务器文件系统中的数据文件
- F.17. fuzzystrmatch — 确定字符串相似性和距离
- F.18. hstore — hstore 键/值数据类型
- F.19. intagg — 整数聚合器和枚举器
- F.20. intarray — 操作整数数组
- F.21. isn — 国际标准编号(ISBN、EAN、UPC 等)的数据类型
- F.22. lo — 管理大型对象
- F.23. ltree — 层次树状数据类型
- F.24. old_snapshot — 检查
old_snapshot_threshold
状态 - F.25. pageinspect — 数据库页面的底层检查
- F.26. passwordcheck — 验证密码强度
- F.27. pg_buffercache — 检查 PostgreSQL 缓冲区缓存状态
- F.28. pgcrypto — 加密函数
- F.29. pg_freespacemap — 检查空闲空间映射
- F.30. pg_prewarm — 预加载关系数据到缓冲区缓存
- F.31. pgrowlocks — 显示表的行锁定信息
- F.32. pg_stat_statements — 跟踪 SQL 规划和执行的统计信息
- F.33. pgstattuple — 获取元组级统计信息
- F.34. pg_surgery — 对关系数据执行低级手术
- F.35. pg_trgm — 使用三元组匹配支持文本相似性
- F.36. pg_visibility — 可见性映射信息和实用工具
- F.37. pg_walinspect — 低级 WAL 检查
- F.38. postgres_fdw — 访问存储在外部 PostgreSQL 服务器中的数据
- F.39. seg — 线段或浮点间隔的数据类型
- F.40. sepgsql — 基于 SELinux、标签的强制访问控制 (MAC) 安全模块
- F.41. spi — 服务器编程接口功能/示例
- F.42. sslinfo — 获取客户端 SSL 信息
- F.43. tablefunc — 返回表的函数(
crosstab
等) - F.44. tcn — 触发函数,用于通知侦听器表内容的更改
- F.45. test_decoding — 基于 SQL 的 WAL 逻辑解码测试/示例模块
- F.46. tsm_system_rows —
TABLESAMPLE
的SYSTEM_ROWS
采样方法 - F.47. tsm_system_time —
TABLESAMPLE
的SYSTEM_TIME
采样方法 - F.48. unaccent — 去除变音符号的文本搜索词典
- F.49. uuid-ossp — UUID 生成器
- F.50. xml2 — XPath 查询和 XSLT 功能
本附录和下一附录包含PostgreSQL发行版contrib
目录中可选组件的信息。这些组件包括移植工具、分析实用程序和插件功能,它们不属于 PostgreSQL 核心系统的一部分。它们之所以单独存在,主要是因为它们面向的受众有限,或者过于实验性,无法成为主源代码树的一部分。但这并不妨碍它们的使用。
本附录涵盖了contrib
中的扩展和其他服务器插件模块库。附录 G涵盖了实用程序。
从源发行版构建时,不会自动构建这些可选组件,除非您构建“world”目标(请参见步骤 2)。您可以在配置的源代码树的contrib
目录中运行以下命令来构建并安装所有组件;或者仅构建并安装一个选定的模块,请在该模块的子目录中执行相同的操作。
make
make install
许多模块都有回归测试,可以通过运行以下命令来执行这些测试:
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。有关详细信息,请参阅每个组件的文档。