adminpack 提供了一些支持函数,pgAdmin 和其他管理工具会用这些函数来提供额外的功能,例如服务器日志文件的远程管理。所有这些函数默认只允许由超级用户使用,但是可以通过使用 GRANT 命令允许其他用户使用。
 
表 F.1中展示的函数提供了向运行 着服务器的机器上的文件进行写入的途径(另见 表 9.97中的函数,它们提供了 只读的访问途径)。对于这些函数,只有位于数据库集簇目录中的文件才能被访问(除非用户是一个超级用户或者被指定了 pg_read_server_files 或者 pg_write_server_files 角色之一),不过允许使用相对路径和绝对路径。
表 F.1. adminpack Functions
函数 描述  | 
|---|
         写入或追加到一个文本文件.  | 
         刷新一个文件或目录到硬盘。  | 
         重命名一个文件。  | 
         移除一个文件。  | 
         
        列出  | 
  pg_file_write 把指定的 data 写入到由 filename 命名的文件中。如果 append 为假,文件不能已经存在。如果 append 为真,该文件
  可能已经存在,并且如果存在就会被追加。这个函数返回写入的字节数。
 
  pg_file_sync fsyncs由filename命名的指定的文件或目录。
  在失败时会出现错误 (例如:指定的文件不存在)。
  注意 data_sync_retry 对此函数没有影响,因此在刷新数据库文件失败的时候不会引发PANIC-级别的错误。
 
  pg_file_rename重命名一个文件。如果
  archivename被省略或者为 NULL,它简单地把
  oldname重命名为newname(不能
  已经存在)。如果提供了archivename,该函数首先把
  newname重命名为archivename(不
  能已经存在),然后把oldname重命名为
  newname。当第二次重命名失败时,这个函数会在报告
  错误之前尝试把archivename重命名成
  newname。成功时函数返回真,如果源文件不存在或者
  不可写则返回假,其他情况下会抛出错误。
 
  pg_file_unlink移除指定的文件。成功时函数返回真,
  如果指定的文件不存在或者unlink()调用失败则返回
  假,其他情况下会抛出错误。
 
  pg_logdir_ls返回log_directory
  目录中所有日志文件的开始时间戳以及路径名。要使用这个函数,
  log_filename参数必须具有其默认设置(
  postgresql-%Y-%m-%d_%H%M%S.log)。