{"Entry":{"collection":"sql","key":"set","name":"SET","aliases":["set"],"metadata":{"aliases":["set"],"changed_in":["6.5","7.0","7.1","7.3","7.4","8.2","10","19"],"changes":[{"from":"6.4","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","usage","compatibility"],"removed":[]},"status":"changed","synopsis":{"added":["SET TIME ZONE { 'timezone' | LOCAL | DEFAULT }","SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZED }"],"removed":["SET TIME ZONE { 'timezone' | LOCAL };"]},"to":"6.5"},{"from":"6.5","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["usage","compatibility"],"removed":[]},"status":"changed","synopsis":{"added":["SET variable { TO | = } { value | 'value' | DEFAULT }","SET CONSTRAINTS {ALL | constraintlist} mode","SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE }"],"removed":["SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZED }"]},"to":"7.0"},{"from":"7.0","purpose_changed":true,"renamed":{"from_file":"sql-set.htm","to_file":"sql-set.html"},"sections":{"added":["diagnostics","examples"],"changed":["description","compatibility"],"removed":["usage"]},"status":"changed","synopsis":{"added":[],"removed":["SET CONSTRAINTS {ALL | constraintlist} mode","SET TIME ZONE { 'timezone' | LOCAL | DEFAULT }","SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE }"]},"to":"7.1"},{"from":"7.1","purpose_changed":true,"renamed":null,"sections":{"added":[],"changed":["description","examples","compatibility"],"removed":[]},"status":"changed","synopsis":null,"to":"7.2"},{"from":"7.2","purpose_changed":false,"renamed":null,"sections":{"added":["see_also"],"changed":["description","diagnostics","examples","compatibility"],"removed":[]},"status":"changed","synopsis":{"added":["SET [ SESSION | LOCAL ] variable { TO | = } { value | 'value' | DEFAULT }","SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }"],"removed":["SET TIME ZONE { 'timezone' | LOCAL | DEFAULT }"]},"to":"7.3"},{"from":"7.3","purpose_changed":false,"renamed":null,"sections":{"added":["parameters","notes"],"changed":["description","examples","compatibility","see_also"],"removed":["diagnostics"]},"status":"changed","synopsis":{"added":["SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT }"],"removed":["SET [ SESSION | LOCAL ] variable { TO | = } { value | 'value' | DEFAULT }"]},"to":"7.4"},{"from":"7.4","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters","notes","examples"],"removed":[]},"status":"changed","synopsis":null,"to":"8.0"},{"from":"8.0","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"8.1"},{"from":"8.1","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":{"added":["SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }"],"removed":["SET [ SESSION | LOCAL ] name { TO | = } { value | 'value' | DEFAULT }"]},"to":"8.2"},{"from":"8.2","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","parameters","notes"],"removed":[]},"status":"changed","synopsis":null,"to":"8.3"},{"from":"8.3","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters","notes"],"removed":[]},"status":"changed","synopsis":null,"to":"8.4"},{"from":"9.1","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters","notes"],"removed":[]},"status":"changed","synopsis":null,"to":"9.2"},{"from":"9.3","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"9.4"},{"from":"9.5","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"9.6"},{"from":"9.6","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","parameters","examples"],"removed":[]},"status":"changed","synopsis":{"added":["SET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }"],"removed":["SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }"]},"to":"10"},{"from":"11","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters","examples"],"removed":[]},"status":"changed","synopsis":null,"to":"12"},{"from":"12","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["notes"],"removed":[]},"status":"changed","synopsis":null,"to":"13"},{"from":"13","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"14"},{"from":"14","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description"],"removed":[]},"status":"changed","synopsis":null,"to":"15"},{"from":"16","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["description","parameters","notes"],"removed":[]},"status":"changed","synopsis":null,"to":"17"},{"from":"17","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters"],"removed":[]},"status":"changed","synopsis":null,"to":"18"},{"from":"18","purpose_changed":false,"renamed":null,"sections":{"added":[],"changed":["parameters","notes","examples"],"removed":[]},"status":"changed","synopsis":{"added":["SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value [, ...] | DEFAULT }"],"removed":["SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }","SET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }"]},"to":"19"}],"content_hash":"a5408dd82e481f332f1c0b5269aa5aec8c398b6c886ddea8bb0abba95a2d4239","editorial":{},"first_version":"6.4","group":"session","imported_at":"2026-09-30T17:43:39.496516+08:00","last_version":"20","name":"SET","object":"","position":14004,"present_in":["6.4","6.5","7.0","7.1","7.2","7.3","7.4","8.0","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"purpose":"change a run-time parameter","purpose_zh":"","related":["reset","show"],"slug":"set","source_rev":"a709ab85","synopsis":"SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value [, ...] | DEFAULT }\nSET [ SESSION | LOCAL ] TIME ZONE { value | LOCAL | DEFAULT }","verb":"SET"}},"Definition":{"Collection":"sql","Key":"set","SourceDatabase":"center","Version":"18","SourceTable":"sqlcmd","SourceKey":"set","SourceRevision":"a709ab85","Facts":{"anchor":"SQL-SET","file":"sql-set.html","lang":"en","name":"SET","purpose":"change a run-time parameter","purpose_zh":"","related":["reset","show"],"sections":[{"html":"\u003cp\u003eThe \u003ccode class=\"command\"\u003eSET\u003c/code\u003e command changes run-time configuration parameters. Many of the run-time parameters listed in \u003ca href=\"/docs/18/runtime-config.html\" title=\"Chapter 19. Server Configuration\"\u003eChapter 19\u003c/a\u003e can be changed on-the-fly with \u003ccode class=\"command\"\u003eSET\u003c/code\u003e. (Some parameters can only be changed by superusers and users who have been granted \u003ccode class=\"literal\"\u003eSET\u003c/code\u003e privilege on that parameter. There are also parameters that cannot be changed after server or session start.) \u003ccode class=\"command\"\u003eSET\u003c/code\u003e only affects the value used by the current session.\u003c/p\u003e\u003cp\u003eIf \u003ccode class=\"command\"\u003eSET\u003c/code\u003e (or equivalently \u003ccode class=\"command\"\u003eSET SESSION\u003c/code\u003e) is issued within a transaction that is later aborted, the effects of the \u003ccode class=\"command\"\u003eSET\u003c/code\u003e command disappear when the transaction is rolled back. Once the surrounding transaction is committed, the effects will persist until the end of the session, unless overridden by another \u003ccode class=\"command\"\u003eSET\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eThe effects of \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e last only till the end of the current transaction, whether committed or not. A special case is \u003ccode class=\"command\"\u003eSET\u003c/code\u003e followed by \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e within a single transaction: the \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e value will be seen until the end of the transaction, but afterwards (if the transaction is committed) the \u003ccode class=\"command\"\u003eSET\u003c/code\u003e value will take effect.\u003c/p\u003e\u003cp\u003eThe effects of \u003ccode class=\"command\"\u003eSET\u003c/code\u003e or \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e are also canceled by rolling back to a savepoint that is earlier than the command.\u003c/p\u003e\u003cp\u003eIf \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e is used within a function that has a \u003ccode class=\"literal\"\u003eSET\u003c/code\u003e option for the same variable (see \u003ca href=\"/docs/18/sql-createfunction.html\" title=\"CREATE FUNCTION\"\u003e\u003cspan class=\"refentrytitle\"\u003eCREATE FUNCTION\u003c/span\u003e\u003c/a\u003e), the effects of the \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e command disappear at function exit; that is, the value in effect when the function was called is restored anyway. This allows \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e to be used for dynamic or repeated changes of a parameter within a function, while still having the convenience of using the \u003ccode class=\"literal\"\u003eSET\u003c/code\u003e option to save and restore the caller's value. However, a regular \u003ccode class=\"command\"\u003eSET\u003c/code\u003e command overrides any surrounding function's \u003ccode class=\"literal\"\u003eSET\u003c/code\u003e option; its effects will persist unless rolled back.\u003c/p\u003e\u003cdiv class=\"note\"\u003e\u003ch3\u003eNote\u003c/h3\u003e\u003cp\u003eIn \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e versions 8.0 through 8.2, the effects of a \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e would be canceled by releasing an earlier savepoint, or by successful exit from a \u003cspan class=\"application\"\u003ePL/pgSQL\u003c/span\u003e exception block. This behavior has been changed because it was deemed unintuitive.\u003c/p\u003e\u003c/div\u003e","key":"description","title":"Description"},{"html":"\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eSESSION\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eSpecifies that the command takes effect for the current session. (This is the default if neither \u003ccode class=\"literal\"\u003eSESSION\u003c/code\u003e nor \u003ccode class=\"literal\"\u003eLOCAL\u003c/code\u003e appears.)\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eLOCAL\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eSpecifies that the command takes effect for only the current transaction. After \u003ccode class=\"command\"\u003eCOMMIT\u003c/code\u003e or \u003ccode class=\"command\"\u003eROLLBACK\u003c/code\u003e, the session-level setting takes effect again. Issuing this outside of a transaction block emits a warning and otherwise has no effect.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003cem class=\"replaceable\"\u003e\u003ccode\u003econfiguration_parameter\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eName of a settable run-time parameter. Available parameters are documented in \u003ca href=\"/docs/18/runtime-config.html\" title=\"Chapter 19. Server Configuration\"\u003eChapter 19\u003c/a\u003e and below.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eNew value of parameter. Values can be specified as string constants, identifiers, numbers, or comma-separated lists of these, as appropriate for the particular parameter. \u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e can be written to specify resetting the parameter to its default value (that is, whatever value it would have had if no \u003ccode class=\"command\"\u003eSET\u003c/code\u003e had been executed in the current session).\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003eBesides the configuration parameters documented in \u003ca href=\"/docs/18/runtime-config.html\" title=\"Chapter 19. Server Configuration\"\u003eChapter 19\u003c/a\u003e, there are a few that can only be adjusted using the \u003ccode class=\"command\"\u003eSET\u003c/code\u003e command or that have a special syntax:\u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eSCHEMA\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode class=\"literal\"\u003eSET SCHEMA '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e is an alias for \u003ccode class=\"literal\"\u003eSET search_path TO \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e. Only one schema can be specified using this syntax.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eNAMES\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode class=\"literal\"\u003eSET NAMES '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e is an alias for \u003ccode class=\"literal\"\u003eSET client_encoding TO \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eSEED\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eSets the internal seed for the random number generator (the function \u003ccode class=\"function\"\u003erandom\u003c/code\u003e). Allowed values are floating-point numbers between -1 and 1 inclusive.\u003c/p\u003e\u003cp\u003eThe seed can also be set by invoking the function \u003ccode class=\"function\"\u003esetseed\u003c/code\u003e:\u003c/p\u003e\u003cpre class=\"programlisting\"\u003eSELECT setseed(\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e);\n\u003c/pre\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eTIME ZONE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode class=\"literal\"\u003eSET TIME ZONE '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e is an alias for \u003ccode class=\"literal\"\u003eSET timezone TO '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e. The syntax \u003ccode class=\"literal\"\u003eSET TIME ZONE\u003c/code\u003e allows special syntax for the time zone specification. Here are examples of valid values:\u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003e'America/Los_Angeles'\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eThe time zone for Berkeley, California.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003e'Europe/Rome'\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eThe time zone for Italy.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003e-7\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eThe time zone 7 hours west from UTC (equivalent to PDT). Positive values are east from UTC.\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eINTERVAL '-08:00' HOUR TO MINUTE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eThe time zone 8 hours west from UTC (equivalent to PST).\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eLOCAL\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eSet the time zone to your local time zone (that is, the server's default value of \u003ccode class=\"varname\"\u003etimezone\u003c/code\u003e).\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003eTimezone settings given as numbers or intervals are internally translated to POSIX timezone syntax. For example, after \u003ccode class=\"literal\"\u003eSET TIME ZONE -7\u003c/code\u003e, \u003ccode class=\"command\"\u003eSHOW TIME ZONE\u003c/code\u003e would report \u003ccode class=\"literal\"\u003e\u0026lt;-07\u0026gt;+07\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eTime zone abbreviations are not supported by \u003ccode class=\"command\"\u003eSET\u003c/code\u003e; see \u003ca href=\"/docs/18/datatype-datetime.html#DATATYPE-TIMEZONES\" title=\"8.5.3. Time Zones\"\u003eSection 8.5.3\u003c/a\u003e for more information about time zones.\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e","key":"parameters","title":"Parameters"},{"html":"\u003cp\u003eThe function \u003ccode class=\"function\"\u003eset_config\u003c/code\u003e provides equivalent functionality; see \u003ca href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SET\" title=\"9.28.1. Configuration Settings Functions\"\u003eSection 9.28.1\u003c/a\u003e. Also, it is possible to UPDATE the \u003ca href=\"/docs/18/view-pg-settings.html\" title=\"53.25. pg_settings\"\u003e\u003ccode class=\"structname\"\u003epg_settings\u003c/code\u003e\u003c/a\u003e system view to perform the equivalent of \u003ccode class=\"command\"\u003eSET\u003c/code\u003e.\u003c/p\u003e","key":"notes","title":"Notes"},{"html":"\u003cp\u003eSet the schema search path:\u003c/p\u003e\u003cpre class=\"programlisting\"\u003eSET search_path TO my_schema, public;\n\u003c/pre\u003e\u003cp\u003eSet the style of date to traditional \u003cspan class=\"productname\"\u003ePOSTGRES\u003c/span\u003e with \u003cspan class=\"quote\"\u003e“\u003cspan class=\"quote\"\u003eday before month\u003c/span\u003e”\u003c/span\u003e input convention:\u003c/p\u003e\u003cpre class=\"screen\"\u003eSET datestyle TO postgres, dmy;\n\u003c/pre\u003e\u003cp\u003eSet the time zone for Berkeley, California:\u003c/p\u003e\u003cpre class=\"screen\"\u003eSET TIME ZONE 'America/Los_Angeles';\n\u003c/pre\u003e\u003cp\u003eSet the time zone for Italy:\u003c/p\u003e\u003cpre class=\"screen\"\u003eSET TIME ZONE 'Europe/Rome';\n\u003c/pre\u003e","key":"examples","title":"Examples"},{"html":"\u003cp\u003e\u003ccode class=\"literal\"\u003eSET TIME ZONE\u003c/code\u003e extends syntax defined in the SQL standard. The standard allows only numeric time zone offsets while \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e allows more flexible time-zone specifications. All other \u003ccode class=\"literal\"\u003eSET\u003c/code\u003e features are \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e extensions.\u003c/p\u003e","key":"compatibility","title":"Compatibility"},{"html":"\u003cspan class=\"simplelist\"\u003e\u003ca href=\"/wiki/sql/reset/?v=18\" title=\"RESET\"\u003e\u003cspan class=\"refentrytitle\"\u003eRESET\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"/wiki/sql/show/?v=18\" title=\"SHOW\"\u003e\u003cspan class=\"refentrytitle\"\u003eSHOW\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e","key":"see_also","title":"See Also"}],"sections_same_as":"","slug":"18","synopsis_html":"SET [ SESSION | LOCAL ] \u003cem class=\"replaceable\"\u003e\u003ccode\u003econfiguration_parameter\u003c/code\u003e\u003c/em\u003e { TO | = } { \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e | '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e' | DEFAULT }\nSET [ SESSION | LOCAL ] TIME ZONE { \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e | '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e' | LOCAL | DEFAULT }","synopsis_text":"SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }\nSET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }"},"ManualEvidence":{},"MeasuredEvidence":{}},"Text":{"Collection":"sql","Key":"set","SourceDatabase":"pgweb","Version":"18","Locale":"zh-Hans","Title":"SET","Summary":"更改运行时参数","BodyHTML":"\u003cpre\u003eSET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | \u0026#39;value\u0026#39; | DEFAULT }\nSET [ SESSION | LOCAL ] TIME ZONE { value | \u0026#39;value\u0026#39; | LOCAL | DEFAULT }\u003c/pre\u003e\u003csection\u003e\u003ch2\u003e描述\u003c/h2\u003e\u003cp\u003e\u003ccode\u003eSET\u003c/code\u003e命令用于更改运行时配置参数。许多在\u003ca href=\"/docs/18/runtime-config.html\" rel=\"nofollow\"\u003e第 19 章\u003c/a\u003e中列出的运行时参数都可以通过 \u003ccode\u003eSET\u003c/code\u003e即时更改。（有些参数只能由超级用户以及被授予该参数\u003ccode\u003eSET\u003c/code\u003e权限的用户更改。还有一些参数在服务器启动或会话开始之后便无法再更改。）\u003ccode\u003eSET\u003c/code\u003e只影响当前会话所使用的值。\u003c/p\u003e\u003cp\u003e如果在一个随后被中止的事务中发出\u003ccode\u003eSET\u003c/code\u003e（或者等效的\u003ccode\u003eSET SESSION\u003c/code\u003e），那么在事务回滚时，\u003ccode\u003eSET\u003c/code\u003e命令的效果就会消失。一旦该事务提交，这些效果就会持续到会话结束，除非被另一个\u003ccode\u003eSET\u003c/code\u003e覆盖。\u003c/p\u003e\u003cp\u003e\u003ccode\u003eSET LOCAL\u003c/code\u003e的效果只持续到当前事务结束，无论事务是否提交。一种特殊情况是：在同一个事务中先执行 \u003ccode\u003eSET\u003c/code\u003e，再执行\u003ccode\u003eSET LOCAL\u003c/code\u003e。这样\u003ccode\u003eSET LOCAL\u003c/code\u003e设置的值会一直生效到事务结束，但在此之后（如果该事务被提交），\u003ccode\u003eSET\u003c/code\u003e设置的值将生效。\u003c/p\u003e\u003cp\u003e\u003ccode\u003eSET\u003c/code\u003e或\u003ccode\u003eSET LOCAL\u003c/code\u003e的效果，也会因为回滚到早于该命令的保存点而被取消。\u003c/p\u003e\u003cp\u003e如果在一个针对同一变量带有\u003ccode\u003eSET\u003c/code\u003e选项的函数内使用 \u003ccode\u003eSET LOCAL\u003c/code\u003e（见\u003ca href=\"/docs/18/sql-createfunction.html\" title=\"CREATE FUNCTION\" rel=\"nofollow\"\u003e\u003cspan\u003eCREATE FUNCTION\u003c/span\u003e\u003c/a\u003e），那么\u003ccode\u003eSET LOCAL\u003c/code\u003e命令的效果会在函数退出时消失；也就是说，无论如何都会恢复函数被调用时生效的值。这使得\u003ccode\u003eSET LOCAL\u003c/code\u003e 可以在函数内部用于动态或重复地更改某个参数，同时仍能方便地利用 \u003ccode\u003eSET\u003c/code\u003e选项保存并恢复调用者的值。不过，普通的 \u003ccode\u003eSET\u003c/code\u003e命令会覆盖任何外围函数的\u003ccode\u003eSET\u003c/code\u003e选项；除非回滚，否则它的效果会一直保留。\u003c/p\u003e\u003cdiv\u003e\u003ch3\u003e注意\u003c/h3\u003e\u003cp\u003e在\u003cspan\u003ePostgreSQL\u003c/span\u003e 8.0 到 8.2 版本中，\u003ccode\u003eSET LOCAL\u003c/code\u003e的效果会因为释放一个更早的保存点，或者成功退出某个\u003cspan\u003ePL/pgSQL\u003c/span\u003e异常块而被取消。由于这种行为被认为不够直观，因此后来对其进行了更改。\u003c/p\u003e\u003c/div\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e参数\u003c/h2\u003e\u003cdiv\u003e\u003cdl\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eSESSION\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e指定该命令对当前会话生效。（如果既没有出现\u003ccode\u003eSESSION\u003c/code\u003e，也没有出现\u003ccode\u003eLOCAL\u003c/code\u003e，这就是默认情况。）\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eLOCAL\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e指定该命令只对当前事务生效。在\u003ccode\u003eCOMMIT\u003c/code\u003e或 \u003ccode\u003eROLLBACK\u003c/code\u003e之后，会话级设置会再次生效。在事务块外发出该命令会发出警告，但除此之外没有效果。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003cem\u003e\u003ccode\u003econfiguration_parameter\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e可设置的运行时参数名称。可用参数见\u003ca href=\"/docs/18/runtime-config.html\" rel=\"nofollow\"\u003e第 19 章\u003c/a\u003e以及下文。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e参数的新值。根据具体参数的不同，值可以指定为字符串常量、标识符、数字，或由这些构成的逗号分隔列表。也可以写成\u003ccode\u003eDEFAULT\u003c/code\u003e，表示把该参数重置为其默认值（即当前会话中如果从未执行过 \u003ccode\u003eSET\u003c/code\u003e，它本应具有的值）。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e除了在\u003ca href=\"/docs/18/runtime-config.html\" rel=\"nofollow\"\u003e第 19 章\u003c/a\u003e中记录的配置参数之外，还有少数参数只能用\u003ccode\u003eSET\u003c/code\u003e命令调整，或者具有特殊语法：\u003c/p\u003e\u003cdiv\u003e\u003cdl\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eSCHEMA\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode\u003eSET SCHEMA \u0026#39;\u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u0026#39;\u003c/code\u003e是 \u003ccode\u003eSET search_path TO \u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e的别名。使用这种语法时只能指定一个模式。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eNAMES\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode\u003eSET NAMES \u0026#39;\u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u0026#39;\u003c/code\u003e是 \u003ccode\u003eSET client_encoding TO \u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e的别名。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eSEED\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e设置随机数生成器（即函数\u003ccode\u003erandom\u003c/code\u003e）的内部种子。允许的值是 -1 到 1（含端点）之间的浮点数。\u003c/p\u003e\u003cp\u003e种子也可以通过调用函数\u003ccode\u003esetseed\u003c/code\u003e来设置：\u003c/p\u003e\u003cpre\u003eSELECT setseed(\u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e);\n\u003c/pre\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eTIME ZONE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode\u003eSET TIME ZONE \u0026#39;\u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u0026#39;\u003c/code\u003e是 \u003ccode\u003eSET timezone TO \u0026#39;\u003cem\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u0026#39;\u003c/code\u003e的别名。\u003ccode\u003eSET TIME ZONE\u003c/code\u003e语法允许对时区指定使用特殊语法。下面是一些有效值示例：\u003c/p\u003e\u003cdiv\u003e\u003cdl\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e\u0026#39;America/Los_Angeles\u0026#39;\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e加利福尼亚州伯克利所使用的时区。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e\u0026#39;Europe/Rome\u0026#39;\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e意大利所使用的时区。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003e-7\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eUTC 以西 7 小时的时区（等同于 PDT）。正值表示位于 UTC 以东。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eINTERVAL \u0026#39;-08:00\u0026#39; HOUR TO MINUTE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eUTC 以西 8 小时的时区（等同于 PST）。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan\u003e\u003ccode\u003eLOCAL\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u003ccode\u003eDEFAULT\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e将时区设置为本地时区（即服务器\u003ccode\u003etimezone\u003c/code\u003e的默认值）。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e以数字或时间间隔给出的时区设置在内部会被转换为 POSIX 时区语法。例如，在\u003ccode\u003eSET TIME ZONE -7\u003c/code\u003e之后，\u003ccode\u003eSHOW TIME ZONE\u003c/code\u003e 会报告\u003ccode\u003e\u0026lt;-07\u0026gt;+07\u003c/code\u003e。\u003c/p\u003e\u003cp\u003e\u003ccode\u003eSET\u003c/code\u003e不支持时区缩写；关于时区的更多信息，见\u003ca href=\"/docs/18/datatype-datetime.html#DATATYPE-TIMEZONES\" rel=\"nofollow\"\u003e第 8.5.3 节\u003c/a\u003e。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e注解\u003c/h2\u003e\u003cp\u003e函数\u003ccode\u003eset_config\u003c/code\u003e提供了等效功能；见\u003ca href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SET\" rel=\"nofollow\"\u003e第 9.28.1 节\u003c/a\u003e。此外，也可以对 \u003ca href=\"/docs/18/view-pg-settings.html\" rel=\"nofollow\"\u003e\u003ccode\u003epg_settings\u003c/code\u003e\u003c/a\u003e 系统视图执行 UPDATE，以实现与\u003ccode\u003eSET\u003c/code\u003e等效的操作。\u003c/p\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e示例\u003c/h2\u003e\u003cp\u003e设置模式搜索路径：\u003c/p\u003e\u003cpre\u003eSET search_path TO my_schema, public;\n\u003c/pre\u003e\u003cp\u003e将日期风格设置为传统\u003cspan\u003ePOSTGRES\u003c/span\u003e风格，并采用\u003cspan\u003e“\u003cspan\u003e日在月之前\u003c/span\u003e”\u003c/span\u003e的输入惯例：\u003c/p\u003e\u003cpre\u003eSET datestyle TO postgres, dmy;\n\u003c/pre\u003e\u003cp\u003e将时区设置为加利福尼亚州伯克利所使用的时区：\u003c/p\u003e\u003cpre\u003eSET TIME ZONE \u0026#39;America/Los_Angeles\u0026#39;;\n\u003c/pre\u003e\u003cp\u003e将时区设置为意大利所使用的时区：\u003c/p\u003e\u003cpre\u003eSET TIME ZONE \u0026#39;Europe/Rome\u0026#39;;\n\u003c/pre\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e兼容性\u003c/h2\u003e\u003cp\u003e\u003ccode\u003eSET TIME ZONE\u003c/code\u003e扩展了 SQL 标准定义的语法。标准只允许使用数值形式的时区偏移量，而\u003cspan\u003ePostgreSQL\u003c/span\u003e 允许更灵活的时区指定方式。其他所有\u003ccode\u003eSET\u003c/code\u003e特性都是 \u003cspan\u003ePostgreSQL\u003c/span\u003e扩展。\u003c/p\u003e\u003c/section\u003e\u003csection\u003e\u003ch2\u003e另见\u003c/h2\u003e\u003cspan\u003e\u003ca href=\"/wiki/sql/reset/?v=18\" title=\"RESET\" rel=\"nofollow\"\u003e\u003cspan\u003eRESET\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"/wiki/sql/show/?v=18\" title=\"SHOW\" rel=\"nofollow\"\u003e\u003cspan\u003eSHOW\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/section\u003e","SourceRevision":"1b5ca64c","ContentHash":"e58311662f805dd3ca6ad78ffa27302f78d2d244d8244d36cb60d3cc13a64281","Payload":{"purpose_zh":"更改运行时参数","sections":[{"html":"\u003cp\u003e\u003ccode class=\"command\"\u003eSET\u003c/code\u003e命令用于更改运行时配置参数。许多在\u003ca href=\"/docs/18/runtime-config.html\" title=\"第 19 章 服务器配置\"\u003e第 19 章\u003c/a\u003e中列出的运行时参数都可以通过 \u003ccode class=\"command\"\u003eSET\u003c/code\u003e即时更改。（有些参数只能由超级用户以及被授予该参数\u003ccode class=\"literal\"\u003eSET\u003c/code\u003e权限的用户更改。还有一些参数在服务器启动或会话开始之后便无法再更改。）\u003ccode class=\"command\"\u003eSET\u003c/code\u003e只影响当前会话所使用的值。\u003c/p\u003e\u003cp\u003e如果在一个随后被中止的事务中发出\u003ccode class=\"command\"\u003eSET\u003c/code\u003e（或者等效的\u003ccode class=\"command\"\u003eSET SESSION\u003c/code\u003e），那么在事务回滚时，\u003ccode class=\"command\"\u003eSET\u003c/code\u003e命令的效果就会消失。一旦该事务提交，这些效果就会持续到会话结束，除非被另一个\u003ccode class=\"command\"\u003eSET\u003c/code\u003e覆盖。\u003c/p\u003e\u003cp\u003e\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e的效果只持续到当前事务结束，无论事务是否提交。一种特殊情况是：在同一个事务中先执行 \u003ccode class=\"command\"\u003eSET\u003c/code\u003e，再执行\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e。这样\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e设置的值会一直生效到事务结束，但在此之后（如果该事务被提交），\u003ccode class=\"command\"\u003eSET\u003c/code\u003e设置的值将生效。\u003c/p\u003e\u003cp\u003e\u003ccode class=\"command\"\u003eSET\u003c/code\u003e或\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e的效果，也会因为回滚到早于该命令的保存点而被取消。\u003c/p\u003e\u003cp\u003e如果在一个针对同一变量带有\u003ccode class=\"literal\"\u003eSET\u003c/code\u003e选项的函数内使用 \u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e（见\u003ca href=\"/docs/18/sql-createfunction.html\" title=\"CREATE FUNCTION\"\u003e\u003cspan class=\"refentrytitle\"\u003eCREATE FUNCTION\u003c/span\u003e\u003c/a\u003e），那么\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e命令的效果会在函数退出时消失；也就是说，无论如何都会恢复函数被调用时生效的值。这使得\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e 可以在函数内部用于动态或重复地更改某个参数，同时仍能方便地利用 \u003ccode class=\"literal\"\u003eSET\u003c/code\u003e选项保存并恢复调用者的值。不过，普通的 \u003ccode class=\"command\"\u003eSET\u003c/code\u003e命令会覆盖任何外围函数的\u003ccode class=\"literal\"\u003eSET\u003c/code\u003e选项；除非回滚，否则它的效果会一直保留。\u003c/p\u003e\u003cdiv class=\"note\"\u003e\u003ch3\u003e注意\u003c/h3\u003e\u003cp\u003e在\u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e 8.0 到 8.2 版本中，\u003ccode class=\"command\"\u003eSET LOCAL\u003c/code\u003e的效果会因为释放一个更早的保存点，或者成功退出某个\u003cspan class=\"application\"\u003ePL/pgSQL\u003c/span\u003e异常块而被取消。由于这种行为被认为不够直观，因此后来对其进行了更改。\u003c/p\u003e\u003c/div\u003e","key":"description","title":"描述"},{"html":"\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eSESSION\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e指定该命令对当前会话生效。（如果既没有出现\u003ccode class=\"literal\"\u003eSESSION\u003c/code\u003e，也没有出现\u003ccode class=\"literal\"\u003eLOCAL\u003c/code\u003e，这就是默认情况。）\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eLOCAL\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e指定该命令只对当前事务生效。在\u003ccode class=\"command\"\u003eCOMMIT\u003c/code\u003e或 \u003ccode class=\"command\"\u003eROLLBACK\u003c/code\u003e之后，会话级设置会再次生效。在事务块外发出该命令会发出警告，但除此之外没有效果。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003cem class=\"replaceable\"\u003e\u003ccode\u003econfiguration_parameter\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e可设置的运行时参数名称。可用参数见\u003ca href=\"/docs/18/runtime-config.html\" title=\"第 19 章 服务器配置\"\u003e第 19 章\u003c/a\u003e以及下文。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e参数的新值。根据具体参数的不同，值可以指定为字符串常量、标识符、数字，或由这些构成的逗号分隔列表。也可以写成\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e，表示把该参数重置为其默认值（即当前会话中如果从未执行过 \u003ccode class=\"command\"\u003eSET\u003c/code\u003e，它本应具有的值）。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e除了在\u003ca href=\"/docs/18/runtime-config.html\" title=\"第 19 章 服务器配置\"\u003e第 19 章\u003c/a\u003e中记录的配置参数之外，还有少数参数只能用\u003ccode class=\"command\"\u003eSET\u003c/code\u003e命令调整，或者具有特殊语法：\u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eSCHEMA\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode class=\"literal\"\u003eSET SCHEMA '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e是 \u003ccode class=\"literal\"\u003eSET search_path TO \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e的别名。使用这种语法时只能指定一个模式。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eNAMES\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode class=\"literal\"\u003eSET NAMES '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e是 \u003ccode class=\"literal\"\u003eSET client_encoding TO \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e的别名。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eSEED\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e设置随机数生成器（即函数\u003ccode class=\"function\"\u003erandom\u003c/code\u003e）的内部种子。允许的值是 -1 到 1（含端点）之间的浮点数。\u003c/p\u003e\u003cp\u003e种子也可以通过调用函数\u003ccode class=\"function\"\u003esetseed\u003c/code\u003e来设置：\u003c/p\u003e\u003cpre class=\"programlisting\"\u003eSELECT setseed(\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e);\n\u003c/pre\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eTIME ZONE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\u003ccode class=\"literal\"\u003eSET TIME ZONE '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e是 \u003ccode class=\"literal\"\u003eSET timezone TO '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e'\u003c/code\u003e的别名。\u003ccode class=\"literal\"\u003eSET TIME ZONE\u003c/code\u003e语法允许对时区指定使用特殊语法。下面是一些有效值示例：\u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003e'America/Los_Angeles'\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e加利福尼亚州伯克利所使用的时区。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003e'Europe/Rome'\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e意大利所使用的时区。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003e-7\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eUTC 以西 7 小时的时区（等同于 PDT）。正值表示位于 UTC 以东。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eINTERVAL '-08:00' HOUR TO MINUTE\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003eUTC 以西 8 小时的时区（等同于 PST）。\u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eLOCAL\u003c/code\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"term\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e\u003c/span\u003e\u003c/dt\u003e\u003cdd\u003e\u003cp\u003e将时区设置为本地时区（即服务器\u003ccode class=\"varname\"\u003etimezone\u003c/code\u003e的默认值）。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e以数字或时间间隔给出的时区设置在内部会被转换为 POSIX 时区语法。例如，在\u003ccode class=\"literal\"\u003eSET TIME ZONE -7\u003c/code\u003e之后，\u003ccode class=\"command\"\u003eSHOW TIME ZONE\u003c/code\u003e 会报告\u003ccode class=\"literal\"\u003e\u0026lt;-07\u0026gt;+07\u003c/code\u003e。\u003c/p\u003e\u003cp\u003e\u003ccode class=\"command\"\u003eSET\u003c/code\u003e不支持时区缩写；关于时区的更多信息，见\u003ca href=\"/docs/18/datatype-datetime.html#DATATYPE-TIMEZONES\" title=\"8.5.3. 时区\"\u003e第 8.5.3 节\u003c/a\u003e。\u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e","key":"parameters","title":"参数"},{"html":"\u003cp\u003e函数\u003ccode class=\"function\"\u003eset_config\u003c/code\u003e提供了等效功能；见\u003ca href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SET\" title=\"9.28.1. 配置设定函数\"\u003e第 9.28.1 节\u003c/a\u003e。此外，也可以对 \u003ca href=\"/docs/18/view-pg-settings.html\" title=\"53.25. pg_settings\"\u003e\u003ccode class=\"structname\"\u003epg_settings\u003c/code\u003e\u003c/a\u003e 系统视图执行 UPDATE，以实现与\u003ccode class=\"command\"\u003eSET\u003c/code\u003e等效的操作。\u003c/p\u003e","key":"notes","title":"注解"},{"html":"\u003cp\u003e设置模式搜索路径：\u003c/p\u003e\u003cpre class=\"programlisting\"\u003eSET search_path TO my_schema, public;\n\u003c/pre\u003e\u003cp\u003e将日期风格设置为传统\u003cspan class=\"productname\"\u003ePOSTGRES\u003c/span\u003e风格，并采用\u003cspan class=\"quote\"\u003e“\u003cspan class=\"quote\"\u003e日在月之前\u003c/span\u003e”\u003c/span\u003e的输入惯例：\u003c/p\u003e\u003cpre class=\"screen\"\u003eSET datestyle TO postgres, dmy;\n\u003c/pre\u003e\u003cp\u003e将时区设置为加利福尼亚州伯克利所使用的时区：\u003c/p\u003e\u003cpre class=\"screen\"\u003eSET TIME ZONE 'America/Los_Angeles';\n\u003c/pre\u003e\u003cp\u003e将时区设置为意大利所使用的时区：\u003c/p\u003e\u003cpre class=\"screen\"\u003eSET TIME ZONE 'Europe/Rome';\n\u003c/pre\u003e","key":"examples","title":"示例"},{"html":"\u003cp\u003e\u003ccode class=\"literal\"\u003eSET TIME ZONE\u003c/code\u003e扩展了 SQL 标准定义的语法。标准只允许使用数值形式的时区偏移量，而\u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e 允许更灵活的时区指定方式。其他所有\u003ccode class=\"literal\"\u003eSET\u003c/code\u003e特性都是 \u003cspan class=\"productname\"\u003ePostgreSQL\u003c/span\u003e扩展。\u003c/p\u003e","key":"compatibility","title":"兼容性"},{"html":"\u003cspan class=\"simplelist\"\u003e\u003ca href=\"/wiki/sql/reset/?v=18\" title=\"RESET\"\u003e\u003cspan class=\"refentrytitle\"\u003eRESET\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"/wiki/sql/show/?v=18\" title=\"SHOW\"\u003e\u003cspan class=\"refentrytitle\"\u003eSHOW\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e","key":"see_also","title":"另见"}],"sections_same_as":"","synopsis_html":"SET [ SESSION | LOCAL ] \u003cem class=\"replaceable\"\u003e\u003ccode\u003econfiguration_parameter\u003c/code\u003e\u003c/em\u003e { TO | = } { \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e | '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e' | DEFAULT }\nSET [ SESSION | LOCAL ] TIME ZONE { \u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e | '\u003cem class=\"replaceable\"\u003e\u003ccode\u003evalue\u003c/code\u003e\u003c/em\u003e' | LOCAL | DEFAULT }","synopsis_text":"SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }\nSET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","6.4","6.5","7.0","7.1","7.2","7.3","7.4","8.0","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
