F.1. adminpack — pgAdmin 支持工具包 #
adminpack 提供了一些支持函数,pgAdmin 和其他管理与维护工具可使用这些函数提供附加功能,例如远程管理服务器日志文件。默认情况下,只有数据库超级用户才允许使用所有这些函数,但也可以使用 GRANT 命令允许其他用户使用。
表 F.1 中显示的函数提供对承载服务器的机器上文件的写访问。(另见表 9.101 中的函数,它们提供只读访问。)除非用户是超级用户,或者根据函数的不同被授予 pg_read_server_files 或 pg_write_server_files 角色之一的权限,否则只能访问数据库集簇目录内的文件,但可以使用相对路径或绝对路径。
表 F.1. adminpack 函数
函数 描述 |
|---|
写入文本文件,或向其追加内容。 |
将文件或目录刷盘。 |
重命名文件。 |
删除文件。 |
列出 |
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)。
报告文档问题
阅读 上游文档. 通过 PostgreSQL 文档反馈表单.