Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

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

目录

F.1. amcheck — 表格和索引一致性验证工具
F.1.1. 功能
F.1.2. 可选 heapallindexed 验证
F.1.3. 有效使用 amcheck
F.1.4. 修复损坏
F.2. auth_delay — 身份验证失败暂停
F.2.1. 配置参数
F.2.2. 作者
F.3. auto_explain — 记录慢查询的执行计划
F.3.1. 配置参数
F.3.2. 示例
F.3.3. 作者
F.4. basebackup_to_shell — 示例“外壳”pg_basebackup 模块
F.4.1. 配置参数
F.4.2. 作者
F.5. basic_archive — 一个示例 WAL 归档模块
F.5.1. 配置参数
F.5.2. 备注
F.5.3. 作者
F.6. bloom — bloom 过滤器索引访问方法
F.6.1. 参数
F.6.2. 示例
F.6.3. 算符类接口
F.6.4. 限制
F.6.5. 作者
F.7. btree_gin — 具有 B-tree 行为的 GIN 算符类
F.7.1. 使用示例
F.7.2. 作者
F.8. btree_gist — 具有 B-tree 行为的 Gist 算符类
F.8.1. 使用示例
F.8.2. 作者
F.9. citext — 不区分大小写的字符字符串类型
F.9.1. 基本原理
F.9.2. 使用方法
F.9.3. 字符串比较行为
F.9.4. 限制
F.9.5. 作者
F.10. cube — 多维 cube 数据类型
F.10.1. 语法
F.10.2. 精度
F.10.3. 使用
F.10.4. 默认值
F.10.5. 备注
F.10.6. 鸣谢
F.11. 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.12. dict_int - 整数示例全文搜索词典
F.12.1. 配置
F.12.2. 用法
F.13. dict_xsyn - 示例同义词全文搜索词典
F.13.1. 配置
F.13.2. 用法
F.14. earthdistance - 计算大圆距离
F.14.1. 基于立方的地球距离
F.14.2. 基于点的地球距离
F.15. file_fdw - 访问服务器文件系统中的数据文件
F.16. fuzzystrmatch - 确定字符串相似性和距离
F.16.1. Soundex
F.16.2. Daitch-Mokotoff Soundex
F.16.3. Levenshtein
F.16.4. Metaphone
F.16.5. Double Metaphone
F.17. hstore - hstore 键/值数据类型
F.17.1. hstore 外部表示
F.17.2. hstore 运算符和函数
F.17.3. 索引
F.17.4. 示例
F.17.5. 统计信息
F.17.6. 兼容性
F.17.7. 转换
F.17.8. 作者
F.18. intagg - 整数聚合器和枚举器
F.18.1. 函数
F.18.2. 示例用途
F.19. intarray - 处理整数数组
F.19.1. intarray 函数与运算符
F.19.2. 索引支持
F.19.3. 示例
F.19.4. 性能基准
F.19.5. 作者
F.20. isn — 国际标准号(ISBN、EAN、UPC 等)的数据类型
F.20.1. 数据类型
F.20.2. 强制类型转换
F.20.3. 函数和运算符
F.20.4. 示例
F.20.5. 引用书目
F.20.6. 作者
F.21. lo — 管理大型对象
F.21.1. 基本原理
F.21.2. 如何使用它
F.21.3. 限制
F.21.4. 作者
F.22. ltree — 层级树形数据类型
F.22.1. 定义
F.22.2. 运算符和函数
F.22.3. 索引
F.22.4. 示例
F.22.5. 转换
F.22.6. 作者
F.23. pageinspect — 数据库页面的底层检查
F.23.1. 常规函数
F.23.2. 堆函数
F.23.3. B 树函数
F.23.4. BRIN 函数
F.23.5. GIN 函数
F.23.6. GiST 函数
F.23.7. 哈希函数
F.24. passwordcheck — 验证密码强度
F.25. pg_buffercache — 检查 PostgreSQL 缓冲区高速缓存状态
F.25.1. pg_buffercache 视图
F.25.2. pg_buffercache_summary() 函数
F.25.3. pg_buffercache_usage_counts() 函数
F.25.4. pg_buffercache_evict 函数
F.25.5. 样例输出
F.25.6. 作者
F.26. pgcrypto — 加密函数
F.26.1. 常规哈希函数
F.26.2. 密码哈希函数
F.26.3. PGP 加密函数
F.26.4. 原始加密函数
F.26.5. 随机数据函数
F.26.6. 注释
F.26.7. 作者
F.27. pg_freespacemap — 检查空闲空间图
F.27.1. 函数
F.27.2. 样例输出
F.27.3. 作者
F.28. pg_prewarm — 预加载关系数据到缓冲区高速缓存
F.28.1. 函数
F.28.2. 配置参数
F.28.3. 作者
F.29. pgrowlocks — 显示表的行锁定信息
F.29.1. 概述
F.29.2. 样例输出
F.29.3. 作者
F.30. pg_stat_statements — 跟踪 SQL 规划和执行的统计信息
F.30.1. pg_stat_statements 视图
F.30.2. pg_stat_statements_info 视图
F.30.3. 函数
F.30.4. 配置参数
F.30.5. 样例输出
F.30.6. 作者
F.31. pgstattuple — 获取元组级别的统计信息
F.31.1. 函数
F.31.2. 作者
F.32. pg_surgery — 对关系数据执行底层手术
F.32.1. 函数
F.32.2. 作者
F.33. pg_trgm — 使用三元组匹配支持文本相似性
F.33.1. 三元组(或三字符序列)概念
F.33.2. 函数和运算符
F.33.3. GUC 参数
F.33.4. 索引支持
F.33.5. 文本搜索集成
F.33.6. 引用
F.33.7. 作者
F.34. pg_visibility — 可见性映射信息和实用工具
F.34.1. 函数
F.34.2. 作者
F.35. pg_walinspect — 低级 WAL 检查
F.35.1. 常规函数
F.35.2. 作者
F.36. postgres_fdw — 访问存储在外部 PostgreSQL 服务器中的数据
F.36.1. postgres_fdw 的 FDW 选项
F.36.2. 函数
F.36.3. 连接管理
F.36.4. 事务管理
F.36.5. 远程查询优化
F.36.6. 远程查询执行环境
F.36.7. 跨版本兼容性
F.36.8. 等待事件
F.36.9. 配置参数
F.36.10. 示例
F.36.11. 作者
F.37. seg — 线段或浮点数区间的数据类型
F.37.1. 基本原理
F.37.2. 语法
F.37.3. 精确度
F.37.4. 用法
F.37.5. 注释
F.37.6. 署名
F.38. sepgsql — 基于 SELinux、标签的强制访问控制 (MAC) 安全模块
F.38.1. 概述
F.38.2. 安装
F.38.3. 回归测试
F.38.4. GUC 参数
F.38.5. 功能
F.38.6. Sepgsql 函数
F.38.7. 限制
F.38.8. 外部资源
F.38.9. 作者
F.39. spi — 服务器编程接口功能/示例
F.39.1. refint — 用于实施引用完整性的函数
F.39.2. autoinc — 用于自增字段的函数
F.39.3. insert_username — 用于追踪谁更改了表
F.39.4. moddatetime — 用于追踪最后修改时间
F.40. sslinfo — 获取客户端 SSL 信息
F.40.1. 提供的函数
F.40.2. 作者
F.41. tablefunc — 返回表的函数 (crosstab 等)
F.41.1. 提供的函数
F.41.2. 作者
F.42. tcn — 一种用于通知侦听器有关表内容更改的触发器函数
F.43. test_decoding — 用于 WAL 逻辑解码的基于 SQL 的测试/示例模块
F.44. tsm_system_rows — 用于 TABLESAMPLESYSTEM_ROWS 采样方法
F.44.1. 示例
F.45. tsm_system_time — 用于 TABLESAMPLESYSTEM_TIME 采样方法
F.45.1. 示例
F.46. unaccent — 一种去除变音符号的文本搜索词典
F.46.1. 配置
F.46.2. 用法
F.46.3. 函数
F.47. uuid-ossp — 一种 UUID 生成器
F.47.1. uuid-ossp 函数
F.47.2. 构建 uuid-ossp
F.47.3. 作者
F.48. xml2 — XPath 查询和 XSLT 功能
F.48.1. 弃用公告
F.48.2. 函数说明
F.48.3. xpath_table
F.48.4. XSLT 函数
F.48.5. 作者

本附录及下一附录包含在 PostgreSQL 分发的<code class="literal">contrib</code> 目录中找到可选组件的信息。其中包括移植工具、分析实用程序和不属于 PostgreSQL 核心系统一部分的插件功能。它们主要是因为涉及的受众范围有限或过于试验性而与主源代码树分开放置的。但这并不妨碍它们发挥作用。

本附录涵盖在 contrib中找到的扩展以及其他服务器插件模块库。附录 G 涵盖实用程序。

从源代码分发版构建时,这些可选组件不会自动构建,除非您构建“world”目标(参见步骤 2)。您可以通过运行以下命令构建并安装它们全部

make
make install

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

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 加载。有关详细信息,请参见每个组件的文档。