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
|