9.3 9.4 9.5 9.6 10 11 12 13 14 15 Current(16) 17
问题报告 纠错本页面

附录 F. 附加提供的模块和扩展

目录

F.1. adminpack — pgAdmin 支持工具包
F.2. amcheck — 用于验证表和索引一致性的工具
F.2.1. 函数
F.2.2. 可选的heapallindexed验证
F.2.3. 有效地使用amcheck
F.2.4. 修复损坏
F.3. auth_delay — 认证失败时的暂停
F.3.1. 配置参数
F.3.2. 作者
F.4. auto_explain — 记录慢查询的执行计划
F.4.1. 配置参数
F.4.2. 例子
F.4.3. 作者
F.5. basebackup_to_shell — 示例 "shell" pg_basebackup 模块
F.5.1. 配置参数
F.5.2. 作者
F.6. basic_archive — 一个示例WAL归档模块
F.6.1. 配置参数
F.6.2. 笔记
F.6.3. 作者
F.7. bloom — bloom过滤器索引访问方法
F.7.1. 参数
F.7.2. 例子
F.7.3. 操作符类接口
F.7.4. 限制
F.7.5. 作者
F.8. btree_gin — 具有B树行为的GIN操作符类
F.8.1. 用法示例
F.8.2. 作者
F.9. btree_gist — 具有B树行为的GiST操作符类
F.9.1. 用法示例
F.9.2. 作者
F.10. citext — 一种不区分大小写的字符字符串类型
F.10.1. 基本原理
F.10.2. 如何使用它
F.10.3. 串比较行为
F.10.4. 限制
F.10.5. 作者
F.11. cube — 一种多维立方体数据类型
F.11.1. 语法
F.11.2. 精度
F.11.3. 用法
F.11.4. 默认值
F.11.5. 注解
F.11.6. 工作人员
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.13.1. 配置
F.13.2. 用法
F.14. dict_xsyn — 示例同义词全文搜索字典
F.14.1. 配置
F.14.2. 用法
F.15. earthdistance — 计算大圆距离
F.15.1. 基于立方体的地球距离
F.15.2. 基于点的地球距离
F.16. file_fdw — 访问服务器文件系统中的数据文件
F.17. fuzzystrmatch — 确定字符串相似性和距离
F.17.1. Soundex
F.17.2. Daitch-Mokotoff 音素编码
F.17.3. Levenshtein
F.17.4. Metaphone
F.17.5. 双 Metaphone
F.18. hstore — hstore 键/值数据类型
F.18.1. hstore 外部表示
F.18.2. hstore 操作符和函数
F.18.3. 索引
F.18.4. 例子
F.18.5. 统计
F.18.6. 兼容性
F.18.7. 转换
F.18.8. 作者
F.19. intagg — 整数聚合器和枚举器
F.19.1. 函数
F.19.2. 使用示例
F.20. intarray — 操作整数数组
F.20.1. intarray 函数和操作符
F.20.2. 索引支持
F.20.3. 例子
F.20.4. 测试基准
F.20.5. 作者
F.21. isn — 国际标准号码(ISBN、EAN、UPC等)的数据类型
F.21.1. 数据类型
F.21.2. 造型
F.21.3. 函数和操作符
F.21.4. 例子
F.21.5. 参考文献
F.21.6. 作者
F.22. lo — 管理大对象
F.22.1. 原理
F.22.2. 如何使用它
F.22.3. 限制
F.22.4. 作者
F.23. ltree — 层次树状数据类型
F.23.1. 定义
F.23.2. 操作符和函数
F.23.3. 索引
F.23.4. 例子
F.23.5. 转换
F.23.6. 作者
F.24. old_snapshot — 检查old_snapshot_threshold状态
F.24.1. 函数
F.25. pageinspect — 数据库页面的低级检查
F.25.1. 通用函数
F.25.2. Heap Functions
F.25.3. B树函数
F.25.4. BRIN函数
F.25.5. GIN函数
F.25.6. GiST 函数
F.25.7. Hash函数
F.26. passwordcheck — 验证密码强度
F.27. pg_buffercache — 检查PostgreSQL 缓冲区缓存状态
F.27.1. pg_buffercache视图
F.27.2. 函数pg_buffercache_summary()的功能
F.27.3. 函数pg_buffercache_usage_counts()的功能
F.27.4. 样例输出
F.27.5. 作者
F.28. pgcrypto — 加密函数
F.28.1. 普通哈希函数
F.28.2. 口令哈希函数
F.28.3. PGP 加密函数
F.28.4. 原始的加密函数
F.28.5. 随机数据函数
F.28.6. 注解
F.28.7. 作者
F.29. pg_freespacemap — 检查空闲空间映射
F.29.1. 函数
F.29.2. 样例输出
F.29.3. 作者
F.30. pg_prewarm — 将关系数据预加载到缓冲区缓存中
F.30.1. 函数
F.30.2. 配置参数
F.30.3. 作者
F.31. pgrowlocks — 显示表的行锁定信息
F.31.1. 概述
F.31.2. 样例输出
F.31.3. 作者
F.32. pg_stat_statements — 跟踪SQL规划和执行的统计信息
F.32.1. pg_stat_statements视图
F.32.2. The pg_stat_statements_info View
F.32.3. 函数
F.32.4. 配置参数
F.32.5. 示例输出
F.32.6. 作者
F.33. pgstattuple — 获取元组级别的统计信息
F.33.1. 函数
F.33.2. 作者
F.34. pg_surgery — 对关系数据执行低级操作
F.34.1. 函数
F.34.2. 作者
F.35. pg_trgm — 使用三元组匹配支持文本相似性
F.35.1. Trigram(或者 Trigraph)概念
F.35.2. 函数和操作符
F.35.3. GUC 参数
F.35.4. 索引支持
F.35.5. 文本搜索集成
F.35.6. 参考
F.35.7. 作者
F.36. pg_visibility — 可见性映射信息和工具
F.36.1. 函数
F.36.2. 作者
F.37. pg_walinspect — 低级别的WAL检查
F.37.1. 通用函数
F.37.2. 作者
F.38. postgres_fdw — 访问存储在外部PostgreSQL 服务器中的数据
F.38.1. postgres_fdw 的 FDW 选项
F.38.2. Functions
F.38.3. 连接管理
F.38.4. 事务管理
F.38.5. 远程查询优化
F.38.6. 远程查询执行环境
F.38.7. 跨版本兼容性
F.38.8. 配置参数
F.38.9. 例子
F.38.10. 作者
F.39. seg — 表示线段或浮点区间的数据类型
F.39.1. 原理
F.39.2. 语法
F.39.3. 精度
F.39.4. 用法
F.39.5. 注解
F.39.6. 开发人员
F.40. sepgsql — 基于SELinux标签的强制访问控制(MAC)安全模块
F.40.1. 概述
F.40.2. 安装
F.40.3. 回归测试
F.40.4. GUC 参数
F.40.5. 特性
F.40.6. Sepgsql 函数
F.40.7. 限制
F.40.8. 外部资源
F.40.9. 作者
F.41. spi — 服务器编程接口功能/示例
F.41.1. refint — 用于实现参照完整性的函数
F.41.2. autoinc — 用于自增域的函数
F.41.3. insert_username — 用于跟踪谁修改了一个表的函数
F.41.4. moddatetime — 用于跟踪上一次修改时间的函数
F.42. sslinfo — 获取客户端SSL信息
F.42.1. 提供的函数
F.42.2. 作者
F.43. tablefunc — 返回表的函数(交叉表及其他)
F.43.1. 所提供的函数
F.43.2. 作者
F.44. tcn — 一个触发函数,用于通知监听器表内容的更改
F.45. test_decoding — 基于SQL的WAL逻辑解码测试/示例模块
F.46. tsm_system_rows — SYSTEM_ROWS采样方法用于TABLESAMPLE
F.46.1. 示例
F.47. tsm_system_time — SYSTEM_TIME采样方法用于TABLESAMPLE
F.47.1. 示例
F.48. unaccent — 一个去除变音符号的文本搜索字典
F.48.1. 配置
F.48.2. 用法
F.48.3. 函数
F.49. uuid-ossp — 一个UUID生成器
F.49.1. uuid-ossp 函数
F.49.2. 编译uuid-ossp
F.49.3. 作者
F.50. xml2 — XPath查询和XSLT功能
F.50.1. 废弃公告
F.50.2. 函数的描述
F.50.3. xpath_table
F.50.4. XSLT 函数
F.50.5. 作者

本附录和下一个附录包含有关contrib目录中可选组件的信息, 该目录是PostgreSQL发行版的一部分。 这些组件包括移植工具、分析实用程序以及不属于核心PostgreSQL系统的插件功能。 它们之所以被分离,主要是因为它们针对的受众有限,或者过于实验性, 无法成为主源代码树的一部分。这并不影响它们的实用性。

本附录介绍了在contrib中找到的扩展和其他服务器插件模块库。 附录 G介绍了实用程序。

当从源代码分发包构建时,这些可选组件不会自动构建, 除非您构建“world”目标(请参阅步骤 2)。 您可以通过运行以下命令来构建并安装所有组件:

make
make install

在已配置的源代码树的contrib目录中; 或者要仅构建和安装一个选定的模块,请在该模块的子目录中执行相同操作。 许多模块都有回归测试,可以通过运行以下命令来执行:

make check

在安装之前,或者在您有一个PostgreSQL 服务器运行后,通过运行以下命令:

make installcheck

来执行。

如果您使用的是预先打包的PostgreSQL版本, 这些组件通常作为一个单独的子包提供,例如postgresql-contrib

许多组件提供了新的用户定义函数、操作符或类型, 这些都被打包为扩展。 要使用这些扩展中的一个,在安装代码之后, 需要在数据库系统中注册新的SQL对象。 这是通过执行 CREATE EXTENSION命令完成的。在一个新的数据库中, 你可以简单地执行

CREATE EXTENSION extension_name;

这个命令仅在当前数据库中注册新的SQL对象, 因此你需要在每个希望扩展功能可用的数据库中运行它。 或者,可以在数据库template1中运行它, 这样扩展将默认被复制到随后创建的数据库中。

对于所有扩展,CREATE EXTENSION命令必须由数据库超级用户运行, 除非该扩展被认为是可信的。可信的扩展可以由任何在当前数据库上拥有 CREATE权限的用户运行。被认为可信的扩展将在后续章节中标明。 通常,可信的扩展是那些无法提供数据库外部功能访问的扩展。

以下扩展在默认安装中是受信任的:

btree_ginfuzzystrmatchltreetcn
btree_gisthstorepgcryptotsm_system_rows
citextintarraypg_trgmtsm_system_time
cubeisnsegunaccent
dict_intlotablefuncuuid-ossp

许多扩展允许您将它们的对象安装到您选择的模式中。为此,请在 CREATE EXTENSION命令中添加SCHEMA schema_name。默认情况下,这些对象将被放置在 您当前的创建目标模式中,而当前的默认模式是public

请注意,其中一些组件在这个意义上并不是扩展,而是通过其他方式加载到 服务器中,例如通过 shared_preload_libraries。有关详细信息,请参阅每个组件的文档。