pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
本附录包含关于 PostgreSQL 发布的 contrib 目录中各模块的信息。其中包括移植工具、 分析实用程序,以及不属于 PostgreSQL 核心系统的插件特性——之所以 不纳入核心,主要是因为它们面向有限的用户群,或者过于实验性, 不适合进入主源码树。但这并不妨碍它们发挥作用。
从源码发布构建时,除非构建"world"目标 (见 步骤 2),否则这些模块不会自动构建。 你可以用以下命令构建并安装所有这些模块:
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 大版本升级之后,请再次运行安装脚本, 即使模块的对象可能已通过转储和恢复从旧安装迁移过来。这样可以确保 任何新函数都可用,并且所有必要的修正都会被应用。
adminpack 提供了一些支持函数,pgAdmin 和其他管理工具可以使用它们来提供额外功能,例如远程管理服务器 日志文件。
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()
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。