

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# timezone
<a name="r_timezone_config"></a>

## 值 (粗體為預設值)
<a name="r_timezone_config-values"></a>

 **UTC**、時區

## 語法
<a name="r_timezone_config-syntax"></a>

```
SET timezone { TO | = } [ time_zone | DEFAULT ]

SET time zone [ time_zone | DEFAULT ]
```

## Description
<a name="r_timezone_config-description"></a>

設定目前工作階段的時區。時區可以是國際標準時間 (UTC) 的偏移量或是時區名稱。

**注意**  
您不能使用叢集參數群組設定此 `timezone` 組態參數。只能使用 SET 命令設定目前工作階段的時區。若要設定特定資料庫使用者執行之所有工作階段的時區，請使用 [ALTER USER](r_ALTER_USER.md) 命令。ALTER USER … SET TIMEZONE 會變更後續工作階段的時區，不會變更目前工作階段。

當您使用 `SET timezone` 命令 (time 和 zone 之間無空格) 搭配 `TO` 或 `=` 設定時區時，可指定時區名稱 *time\$1zone*、POSIX 樣式的格式偏移量、或 ISO-8601 格式偏移量，如下所示。

```
SET timezone { TO | = } time_zone
```

當您使用 SET time zone 命令設定時區而*不搭配* `TO` 或 `=` 時，可以指定 *time\$1zone* (使用 INTERVAL 和時區名稱)、POSIX 樣式的格式偏移量、或 ISO-8601 格式偏移量，如下所示。

```
SET time zone time_zone
```

## 時區格式
<a name="r_timezone_config-formats"></a>

Amazon Redshift 支援以下時區格式：
+ 時區名稱
+ INTERVAL
+ POSIX 樣式的時區規格
+ ISO-8601 偏移量

因為時區縮寫 (例如 PST、PDT) 已定義為 UTC 的固定偏移量，且不包括日光節約時間規則，因此 SET 命令不支援時區縮寫。

請參閱以下內容，了解時區格式的詳細資訊。

**時區名稱** – 完整的時區名稱，例如 America/New\$1York。完整時區名稱可能包含日光節約時間規則。請注意，Amazon Redshift 使用 [IANA 時區資料庫](https://www.iana.org/time-zones)作為時區規格的授權來源。

以下是完整時區名稱的範例：
+ Etc/Greenwich
+ America/New\$1York 
+ CST6CDT
+ GB

**注意**  
許多時區名稱同時也是縮寫，例如 EST、MST、NZ、UCT。

若要查看有效時區名稱的清單，請執行下列命令。

```
select pg_timezone_names();
```

**INTERVAL** – 與 UTC 的偏移量。例如，PST 是 –8:00 或 –8 小時。

以下是 INTERVAL 時區偏移量的範例：
+ -8:00
+ –8 小時
+ 30 分鐘

**POSIX 樣式的格式** – *STDoffset* 或 *STDoffsetDST* 格式的時區規格，其中 *STD* 是時區縮寫，*offset* 是 UTC 以西的小時偏移量，*DST* 是選用的日光節約時區縮寫。日光節約時間假設為較給定偏移早一小時。

POSIX 樣式時區格式使用格林威治以西的正偏移，與 ISO-8601 慣例不同，此是使用格林威治以東的正偏移。

以下是 POSIX 樣式時區的範例：
+  PST8
+  PST8PDT
+  EST5
+  EST5EDT

**注意**  
Amazon Redshift 不會驗證 POSIX 樣式時區規格，所以可能會將時區設為無效值。例如，即使將時區設為無效值，下列命令不會傳回錯誤。  

```
set timezone to ‘xxx36’;
```

**ISO-8601 偏移量** – 與 UTC 的偏移量，格式為 `±[hh]:[mm]`。

以下為 ISO-8601 偏移量的範例：
+ -8:00
+ \$17:30

## 範例
<a name="r_timezone_config-examples"></a>

以下範例會將目前工作階段的時區設為 New York。

```
set timezone = 'America/New_York';
```

以下範例會將目前工作階段的時區設為 UTC–8 (PST)。

```
set timezone to '-8:00';
```

以下範例使用 INTERVAL 將時區設為 PST。

```
set timezone interval '-8 hours'
```

以下範例會將目前工作階段的時區重設為系統預設時區 (UTC)。

```
set timezone to default;
```

若要設定資料庫使用者的時區，請使用 ALTER USER … SET 陳述式。以下範例會將 dbuser 的時區設為 New York。新值將在使用者的後續工作階段中延用。

```
ALTER USER dbuser SET timezone to 'America/New_York';
```