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

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

受支持版本: 16

F.1. adminpack — pgAdmin 支持工具包 #

adminpack提供了一些支持函数,pgAdmin和其他管理与维护工具可使用这些函数提供附加功能,例如远程管理服务器日志文件。默认情况下,只有数据库超级用户才允许使用所有这些函数,但也可以使用GRANT命令允许其他用户使用。

表 F.1中显示的函数提供对承载服务器的机器上文件的写访问。(另见表 9.101中的函数,它们提供只读访问。)除非用户是超级用户,或者根据函数的不同被授予pg_read_server_filespg_write_server_files角色之一的权限,否则只能访问数据库集簇目录内的文件,但可以使用相对路径或绝对路径。

表 F.1. adminpack 函数

函数

描述

pg_catalog.pg_file_write ( filename text, data text, append boolean ) → bigint

写入文本文件,或向其追加内容。

pg_catalog.pg_file_sync ( filename text ) → void

将文件或目录刷盘。

pg_catalog.pg_file_rename ( oldname text, newname text [, archivename text ] ) → boolean

重命名文件。

pg_catalog.pg_file_unlink ( filename text ) → boolean

删除文件。

pg_catalog.pg_logdir_ls () → setof record

列出log_directory目录中的日志文件。


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

pg_file_sync对由filename指定的文件或目录执行 fsync。失败时会抛出错误(例如,指定的文件不存在)。请注意,data_sync_retry对此函数没有影响,因此即使数据库文件刷盘失败,也不会引发 PANIC 级别的错误。

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)。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题请通过上游文档表单反馈给 PostgreSQL 文档维护者。