Table 9-44 显示了那些可以用于查询以及修改运行时配置参数的函数。
Table 9-44. 配置设置函数
名字 | 返回类型 | 描述 |
---|---|---|
current_setting(setting_name) | text | 当前设置的值 |
set_config(setting_name, new_value, is_local) | text | 设置参数并返回新值 |
current_setting 用于以查询形式获取 setting_name 设置的当前数值。它和SQL命令 SHOW 是等效的。 比如:
SELECT current_setting('datestyle'); current_setting ----------------- ISO, MDY (1 row)
set_config 将参数 setting_name 设置为 new_value。如果 is_local 设置为 true,那么新数值将只应用于当前事务。 如果你希望新的数值应用于当前会话,那么应该使用 false。 它等效于 SQL 命令 SET。比如:
SELECT set_config('log_statement_stats','off', false); set_config ------------ off (1 row)
在 Table 9-45 里显示的函数向其它服务器进程发送控制信号。 这些函数的使用限制为超级用户。
如果成功,这些函数返回 1,如果没有成功则返回 0。 活跃的后端的进程 ID (pid)可以从 pg_stat_activity 视图的 procpid 字段获取,或者通过用 ps 命令列示服务器上的 postgres 进程看到。
在 Table 9-46 里显示的函数帮助我们进行在线备份。 这些函数仅限超级用户使用。
pg_start_backup 接受一个参数,这个参数可以是任意用户为备份定义的标签。 (通常这是备份转储文件存放所在的名字。)这个函数向数据库集群的数据目录写入一个备份标签文件, 然后以文本方式返回备份的起始 WAL 偏移。(用户不需要注意这个结果值,提供他只为了万一需要的场合。)
pg_stop_backup 删除 pg_start_backup 创建的标签文件, 并且在 WAL 归档区里创建一个备份历史文件。这个历史文件包含给予 pg_start_backup 的标签, 备份的起始与终止 WAL 偏移量,以及备份的起始和终止时间。返回值是备份的终止 WAL 偏移 (同样也可能没有什么用)。
有关正确使用这些函数的细节,参阅 Section 22.3。