附录 F. 额外提供的模块
目录
- F.1. adminpack
- F.2. auto_explain
- F.3. btree_gin
- F.4. btree_gist
- F.5. chkpass
- F.6. citext — 大小写不敏感的字符串类型
- F.7. cube — 多维立方体数据类型
- F.8. dblink
- 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_result — 获取异步查询结果
- dblink_cancel_query — 取消命名连接上的任何活动查询
- dblink_get_pkey — 返回关系主键字段的位置和字段名
- dblink_build_sql_insert — 使用本地元组构造 INSERT 语句,并用提供的替代值替换主键字段值
- dblink_build_sql_delete — 使用提供的主键字段值构造 DELETE 语句
- dblink_build_sql_update — 使用本地元组构造 UPDATE 语句,并用提供的替代值替换主键字段值
- F.9. dict_int — 用于整数的示例全文搜索词典
- F.10. dict_xsyn — 示例同义词全文检索词典
- F.11. earthdistance — 计算大圆距离
- F.12. fuzzystrmatch — 确定字符串的相似性和距离
- F.13. hstore
- F.14. intagg — 整数聚合器和枚举器
- F.15. intarray
- F.16. isn
- F.17. lo — 管理大对象
- F.18. ltree
- F.19. oid2name
- F.20. pageinspect
- F.21. pgbench
- F.22. pg_buffercache
- F.23. pgcrypto
- F.24. pg_freespacemap
- F.25. pgrowlocks — 显示表的行锁信息
- F.26. pg_standby
- F.27. pg_stat_statements
- F.28. pgstattuple — 获取元组级统计信息
- F.29. pg_trgm
- F.30. seg — 用于线段或浮点区间的数据类型
- F.31. spi
- F.32. sslinfo
- F.33. tablefunc
- F.34. test_parser
- F.35. tsearch2
- F.36. uuid-ossp
- F.37. vacuumlo
- F.38. xml2
本附录包含关于 PostgreSQL 发布的
contrib 目录中各模块的信息。其中包括移植工具、分析实用程序,以及不属于 PostgreSQL 核心系统的插件特性——之所以不纳入核心,主要是因为它们面向有限的用户群,或者过于实验性,不适合进入主源码树。但这并不妨碍它们发挥作用。
从源码发布构建时,这些模块不会被自动构建。你可以用以下命令构建并安装所有这些模块:
gmakegmake install
在已完成配置的源码树的 contrib 目录中运行;或者,要只构建并安装某一个选定的模块,就在该模块的子目录中执行相同的操作。许多模块带有回归测试,可以通过运行以下命令执行:
gmake installcheck
前提是已有一个 PostgreSQL 服务器在运行。(注意,这里不支持 gmake check;你必须有一个可用的数据库服务器来执行这些测试,而且必须已经构建并安装了要测试的模块。)
如果你使用的是预打包版本的 PostgreSQL,这些组件通常会作为单独的子包提供,例如
postgresql-contrib。
许多模块提供了新的用户定义函数、操作符或类型。要使用其中某个模块,在安装其代码之后,你还需要运行该模块提供的
.sql 文件中的 SQL 命令,把这些新对象注册到数据库系统中。例如,
psql -d dbname -fSHAREDIR/contrib/module.sql
这里的 SHAREDIR 指安装的“share”目录(pg_config --sharedir 会告诉你它是什么)。在大多数情况下,该脚本必须由数据库超级用户运行。
你需要在每一个希望使用该模块功能的数据库中运行这个
.sql 文件。或者,在数据库 template1 中运行它,这样该模块默认会被复制到随后创建的数据库中。
你可以修改 .sql 文件中的第一条命令,来决定模块的对象创建在数据库中的哪个模式里。默认情况下,它们会被放在
public 中。
在 PostgreSQL 大版本升级之后,请再次运行安装脚本,即使模块的对象可能已通过转储和恢复从旧安装迁移过来。这样可以确保任何新函数都可用,并且所有必要的修正都会被应用。
F.1. adminpack #
adminpack 提供了一些支持函数,pgAdmin
和其他管理工具可以使用它们来提供额外功能,例如远程管理服务器日志文件。
F.1.1. 实现的函数
adminpack 实现的函数只能由超级用户运行。下面是这些函数的列表:
int8 pg_catalog.pg_file_write(fname text, data text, append bool) bool pg_catalog.pg_file_rename(oldname text, newname text, archivename text) bool pg_catalog.pg_file_rename(oldname text, newname text) bool pg_catalog.pg_file_unlink(fname text) setof record pg_catalog.pg_logdir_ls() /* Renaming of existing backend functions for pgAdmin compatibility */ int8 pg_catalog.pg_file_read(fname text, data text, append bool) bigint pg_catalog.pg_file_length(text) int4 pg_catalog.pg_logfile_rotate()