adminpack提供了一些支持函数,pgAdmin和其他管理工具会用这些函数来提供额外的功能,例如服务器日志文件的远程管理。只有超级用户才能使用全部这些函数。
 
表 F.1中展示的函数提供了向运行 着服务器的机器上的文件进行写入的途径(另见 表 9.88中的函数,它们提供了 只读的访问途径)。只有位于数据库集簇目录中的文件才能被访问,不过相对 路径和绝对路径都可以使用。
表 F.1. adminpack 函数
| 名称 | 返回类型 | 描述 | 
|---|---|---|
| pg_catalog.pg_file_write(filename text, data text, append boolean) | bigint | 向一个文本文件写入或者追加 | 
| 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
  为假,文件不能已经存在。如果append为真,该文件
  可能已经存在,并且如果存在就会被追加。这个函数返回写入的字节数。
 
  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)。
 
  The functions shown
  in 
  表 F.2中展示的函数
  已经被废弃,新的应用不应该使用它们,而是使用
  表 9.78和
  表 9.88中所示的那些函数。在
  adminpack中提供这些函数只是为了兼容旧版本的
  pgAdmin。
 
表 F.2. 废弃的 adminpack 函数
| 名称 | 返回类型 | 描述 | 
|---|---|---|
| pg_catalog.pg_file_read(filename text, offset bigint, nbytes bigint) | text | pg_read_file()的另一个名字 | 
| pg_catalog.pg_file_length(filename text) | bigint | 和 pg_stat_file()返回的size列一样 | 
| pg_catalog.pg_logfile_rotate() | integer | Alternate name for pg_rotate_logfile()的另一个名字,但是要注意它返回
      整数 0 或者 1 而不是boolean |