Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

SET

SET — 更改运行时参数

语法

SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }

描述

可设置运行时参数的名称。文档中提供的可用参数请参见第 19 章和下面。

参数的新值。可以将值指定为字符串常量、标识符、数字或以逗号分隔的列表,具体方式应适合特定参数。可以写入DEFAULT以指定将参数重置为其默认值(即,如果在当前会话中没有执行SET,它将具有的任何值)。

除了第 19 章中记录的配置参数外,还有一些参数只能使用SET命令进行调整或具有特殊语法

模式

SET SCHEMA 'value'SET search_path TO value的别名。只可以使用此语法指定一个模式。

名称

SET NAMES valueSET client_encoding TO value的别名。

种子

为随机数生成器设置内部种子(函数random)。允许的值是 -1 到 1(包含 -1 和 1)之间的浮点数。

还可以通过调用函数setseed设置种子

SELECT setseed(value);
时区

SET TIME ZONE 'value'SET timezone TO 'value'的别名。语法SET TIME ZONE允许使用特殊语法指定时区。以下是一些有效值的示例

'America/Los_Angeles'

加州伯克利时区。

'Europe/Rome'

意大利时区。

-7

比 UTC 向西 7 小时的时区(相当于 PDT)。UTC 以东的值为正。

INTERVAL '-08:00' HOUR TO MINUTE

比 UTC 向西 8 小时的时区(相当于 PST)。

LOCAL
DEFAULT

将时区设置为您本地的时区(即timezone的服务器默认值)。

作为数字或间隔给出的时区设置在内部转换为 POSIX 时区语法。例如,在SET TIME ZONE -7后,SHOW TIME ZONE将报告<-07>+07

SET不支持时区缩写;有关时区的更多信息,请参见第 8.5.3 节

注释

函数 set_config 提供同等的功能;请参阅 第 9.28.1 节。此外,还可以更新 pg_settings 系统视图来执行相当于 SET 的操作。

示例

设置架构搜索路径

SET search_path TO my_schema, public;

将日期样式设置为传统的 POSTGRES 样式,采用 day before month 输入惯例

SET datestyle TO postgres, dmy;

设置加利福尼亚州伯克利的时区

SET TIME ZONE 'America/Los_Angeles';

设置意大利的时区

SET TIME ZONE 'Europe/Rome';

兼容性

SET TIME ZONE 扩展了 SQL 标准中定义的语法。该标准只允许数值时区偏移,而 PostgreSQL 允许更灵活的时区规范。所有其他 SET 功能均为 PostgreSQL 扩展。

请参阅

RESETSHOW