选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.1 已于 2016 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

附录 F. 额外提供的模块与扩展

目录

F.1. adminpack
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. btree_gin
F.4.1. 用法示例
F.4.2. 作者
F.5. btree_gist
F.5.1. 用法示例
F.5.2. 作者
F.6. chkpass
F.6.1. 作者
F.7. citext — 大小写不敏感的字符串类型
F.7.1. 原理
F.7.2. 如何使用
F.7.3. 字符串比较行为
F.7.4. 限制
F.7.5. 作者
F.8. cube — 多维立方体数据类型
F.8.1. 语法
F.8.2. 精度
F.8.3. 用法
F.8.4. 默认规则
F.8.5. 注意
F.8.6. 致谢
F.9. dblink
dblink_connect — opens a persistent connection to a remote database
dblink_connect_u — opens a persistent connection to a remote database, insecurely
dblink_disconnect — closes a persistent connection to a remote database
dblink — executes a query in a remote database
dblink_exec — executes a command in a remote database
dblink_open — opens a cursor in a remote database
dblink_fetch — returns rows from an open cursor in a remote database
dblink_close — closes a cursor in a remote database
dblink_get_connections — returns the names of all open named dblink connections
dblink_error_message — gets last error message on the named connection
dblink_send_query — sends an async query to a remote database
dblink_is_busy — checks if connection is busy with an async query
dblink_get_notify — retrieve async notifications on a connection
dblink_get_result — gets an async query result
dblink_cancel_query — cancels any active query on the named connection
dblink_get_pkey — returns the positions and field names of a relation's primary key fields
dblink_build_sql_insert — builds an INSERT statement using a local tuple, replacing the primary key field values with alternative supplied values
dblink_build_sql_delete — builds a DELETE statement using supplied values for primary key field values
dblink_build_sql_update — builds an UPDATE statement using a local tuple, replacing the primary key field values with alternative supplied values
F.10. dict_int — 用于整数的示例全文搜索词典
F.10.1. 配置
F.10.2. 用法
F.11. dict_xsyn — 示例同义词全文检索词典
F.11.1. 配置
F.11.2. 用法
F.12. dummy_seclabel
F.12.1. 缘由
F.12.2. 用法
F.12.3. 作者
F.13. earthdistance — 计算大圆距离
F.13.1. 基于立方体的地球距离
F.13.2. 基于点的地球距离
F.14. file_fdw
F.15. fuzzystrmatch — 确定字符串的相似性和距离
F.15.1. Soundex
F.15.2. Levenshtein
F.15.3. Metaphone
F.15.4. Double Metaphone
F.16. hstore
F.16.1. hstore 外部表示
F.16.2. hstore 操作符和函数
F.16.3. 索引
F.16.4. 示例
F.16.5. 统计信息
F.16.6. 兼容性
F.16.7. 作者
F.17. intagg — 整数聚合器和枚举器
F.17.1. 函数
F.17.2. 使用示例
F.18. intarray
F.18.1. intarray 函数和操作符
F.18.2. 索引支持
F.18.3. 示例
F.18.4. 基准测试
F.18.5. 作者
F.19. isn
F.19.1. 数据类型
F.19.2. 类型转换
F.19.3. 函数和操作符
F.19.4. 示例
F.19.5. 参考文献
F.19.6. 作者
F.20. lo — 管理大对象
F.20.1. 原理
F.20.2. 如何使用
F.20.3. 限制
F.20.4. 作者
F.21. ltree
F.21.1. 定义
F.21.2. 操作符和函数
F.21.3. 索引
F.21.4. 示例
F.21.5. 作者
F.22. oid2name
F.22.1. Overview
F.22.2. oid2name Options
F.22.3. 示例
F.22.4. Limitations
F.22.5. 作者
F.23. pageinspect
F.23.1. 函数
F.24. passwordcheck
F.25. pg_archivecleanup
F.25.1. Usage
F.25.2. pg_archivecleanup 选项
F.25.3. 示例
F.25.4. Supported Server Versions
F.25.5. 作者
F.26. pgbench
F.26.1. 概述
F.26.2. pgbench 初始化选项
F.26.3. pgbench Benchmarking Options
F.26.4. pgbench Common Options
F.26.5. 在 pgbench 中实际执行的事务是什么?
F.26.6. 自定义脚本
F.26.7. 逐事务日志记录
F.26.8. 逐语句延迟
F.26.9. 良好实践
F.27. pg_buffercache
F.27.1. pg_buffercache 视图
F.27.2. 示例输出
F.27.3. 作者
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. pgrowlocks — 显示表的行锁信息
F.30.1. 概述
F.30.2. 示例输出
F.30.3. 作者
F.31. pg_standby
F.31.1. Usage
F.31.2. pg_standby Options
F.31.3. 示例
F.31.4. Supported Server Versions
F.31.5. 作者
F.32. pg_stat_statements
F.32.1. pg_stat_statements 视图
F.32.2. 函数
F.32.3. 配置参数
F.32.4. 示例输出
F.32.5. Author
F.33. pgstattuple — 获取元组级统计信息
F.33.1. 函数
F.33.2. 作者
F.34. pg_test_fsync
F.34.1. Usage
F.34.2. 作者
F.35. pg_trgm
F.35.1. 三字符组(Trigram 或 Trigraph)概念
F.35.2. 函数和操作符
F.35.3. 索引支持
F.35.4. 文本检索集成
F.35.5. 参考
F.35.6. 作者
F.36. pg_upgrade
F.36.1. 支持的版本
F.36.2. pg_upgrade 选项
F.36.3. 升级步骤
F.36.4. 从 PostgreSQL 8.3 升级时的限制
F.36.5. 注解
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. 限制
F.38.7. 外部资源
F.38.8. 作者
F.39. spi
F.39.1. refint — 用于实现引用完整性的函数
F.39.2. timetravel — 实现时间旅行的函数
F.39.3. autoinc — 用于字段自动递增的函数
F.39.4. insert_username — 用于跟踪谁修改了表的函数
F.39.5. moddatetime — 用于跟踪最后修改时间的函数
F.40. sslinfo
F.40.1. 提供的函数
F.40.2. 作者
F.41. tablefunc
F.41.1. 提供的函数
F.41.2. 作者
F.42. test_parser
F.42.1. 用法
F.43. tsearch2
F.43.1. 可移植性问题
F.43.2. 转换 8.3 之前的安装
F.43.3. 参考文献
F.44. unaccent
F.44.1. 配置
F.44.2. 用法
F.44.3. 函数
F.45. uuid-ossp
F.45.1. uuid-ossp 函数
F.45.2. 作者
F.46. vacuumlo
F.46.1. 用法
F.46.2. 方法
F.46.3. 作者
F.47. xml2
F.47.1. 弃用说明
F.47.2. 函数说明
F.47.3. xpath_table
F.47.4. XSLT 函数
F.47.5. 作者

本附录包含关于 PostgreSQL 发布的 contrib 目录中各模块的信息。其中包括移植工具、 分析实用程序,以及不属于 PostgreSQL 核心系统的插件特性——之所以 不纳入核心,主要是因为它们面向有限的用户群,或者过于实验性, 不适合进入主源码树。但这并不妨碍它们发挥作用。

从源码发布构建时,除非构建"world"目标 (见 步骤 2),否则这些模块不会自动构建。 你可以用以下命令构建并安装所有这些模块:

gmake
gmake install

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

gmake installcheck

前提是已有一个 PostgreSQL 服务器在运行。(注意, 这里不支持 gmake check;你必须有一个可用的数据库服务 器来执行这些测试,而且必须已经构建并安装了要测试的模块。)

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

许多模块提供新的用户定义函数、操作符或类型。安装代码后,要使用其中某个模块,就需要在数据库系统中注册新的 SQL 对象。在PostgreSQL9.1 及后续版本中,这可通过执行CREATE EXTENSION命令完成。在一个新建的数据库中,你可以直接执行:

CREATE EXTENSION module_name;

该命令必须由数据库超级用户执行。它只会在当前数据库中注册新的 SQL 对象,因此需要在每个希望使用该模块功能的数据库中运行它。另一种做法是在数据库template1中运行它,这样该扩展默认会被复制到随后创建的数据库中。

许多模块允许你把它们的对象安装到你选择的模式中。为此,可在 CREATE EXTENSION 命令中加上 SCHEMA schema_name。默认情况下,这些对象会被放在你当前的创建目标模式中,通常是 public

如果你的数据库是从PostgreSQL9.1 之前的版本通过转储和重新载入升级而来的,并且其中一直在使用该模块的 9.1 之前版本,则应改为执行:

CREATE EXTENSION module_name FROM unpackaged;

这会将该模块在 9.1 之前版本中的对象更新为一个正规的扩展对象。今后该模块的更新将由ALTER EXTENSION管理。有关扩展更新的更多信息,请参见第 35.15 节

F.1. adminpack #

adminpack提供了一些支持函数,pgAdmin和其他管理工具可以使用它们来提供额外功能,例如远程管理服务器日志文件。所有这些函数都只允许超级用户使用。

表 F.1 中所示的函数提供对服务器所在机器上文件的写访问。 (See also the functions in 表 9.62, which provide read-only access.) Only files within the database cluster directory can be accessed, but either a relative or absolute path is allowable.

表 F.1. adminpack 函数

Name Return Type Description
pg_catalog.pg_file_write(filename text, data text, append boolean) bigint Write, or append to, a text file
pg_catalog.pg_file_rename(oldname text, newname text [, archivename text]) boolean Rename a file
pg_catalog.pg_file_unlink(filename text) boolean Remove a file
pg_catalog.pg_logdir_ls() setof record List the log files in the log_directory directory

pg_file_write将指定的data写入由filename指定的文件中。如果append为 false,则该文件必须尚不存在。如果append为 true,则该文件可以已经存在,并且若已存在则会向其追加内容。返回写入的字节数。

pg_file_rename重命名文件。如果省略archivename或其值为空值,则它只是将oldname重命名为newname(后者必须尚不存在)。如果提供了archivename,它会先将newname重命名为archivename(后者必须尚不存在),然后再将oldname重命名为newname。如果第二个重命名步骤失败,它会在报告错误之前尝试将archivename再改回newname。成功时返回 true;如果源文件不存在或不可写,则返回 false;其他情况会抛出错误。

pg_file_unlink删除指定的文件。成功时返回 true;如果指定的文件不存在,或者unlink()调用失败,则返回 false;其他情况会抛出错误。

pg_logdir_ls返回log_directory目录中所有日志文件的起始时间戳和路径名。要使用此函数,log_filename参数必须保持默认设置(postgresql-%Y-%m-%d_%H%M%S.log)。

表 F.2 中所示的函数已被废弃,不应在新应用中使用; instead use those shown in 表 9.56 and 表 9.62. These functions are provided in adminpack only for compatibility with old versions of pgAdmin.

表 F.2. 已弃用的adminpack函数

Name Return Type Description
pg_catalog.pg_file_read(filename text, offset bigint, nbytes bigint) text Alternate name for pg_read_file()
pg_catalog.pg_file_length(filename text) bigint Same as size column returned by pg_stat_file()
pg_catalog.pg_logfile_rotate() integer Alternate name for pg_rotate_logfile(), but note that it returns integer 0 or 1 rather than boolean

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。