

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の 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 ]
```

## 説明
<a name="r_timezone_config-description"></a>

現在のセッションのタイムゾーンを設定します。タイムゾーンは、協定世界時 (UTC) またはタイムゾーン名からのオフセットにすることができます。

**注記**  
クラスターパラメータグループを使用して `timezone` 設定パラメータを設定することはできません。タイムゾーンは、SET コマンドを使用して現在のセッションにのみ設定できます。指定のデータベースユーザーが実行するすべてのセッションのタイムゾーンを設定するには、[ALTER USER](r_ALTER_USER.md)コマンドを使用します。ALTER USER … SET TIMEZONE は、現在のセッションではなく後のセッションのタイムゾーンを変更します。

`SET timezone` または `TO` を含む `=` (1 語) コマンドを使用してタイムゾーンを設定する場合、以下に示すように、*time\_zone* をタイムゾーン名、POSIX スタイル形式のオフセット、または ISO-8601 形式のオフセットとして指定できます。

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

`TO` または `=` を指定*せずに* SET タイムゾーンコマンドを使用してタイムゾーンを設定する場合、以下に示すように、*time\_zone* を 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\_York などのフルタイムゾーン名。フルタイムゾーン名には、夏時間ルールを含めることができます。Amazon Redshift は、[IANA タイムゾーンデータベース](https://www.iana.org/time-zones)をタイムゾーン仕様の信頼できるソースとして使用することに注意してください。

タイムゾーン名の例を以下に示します。
+ Etc/Greenwich
+ America/New\_York 
+ 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* はオプションの夏時間ゾーン省略形です。夏時間は、特定のオフセットより 1 時間早いことを前提としています。

POSIX スタイルのタイムゾーン形式では、グリニッジから西方向に正のオフセットが使用されます。これは、グリニッジから東方向に正のオフセットを使用する ISO-8601 規則とは対照的です。

POSIX スタイルのタイムゾーンの例を以下に示します。
+  PST8
+  PST8PDT
+  EST5
+  EST5EDT

**注記**  
Amazon Redshift は、POSIX スタイルのタイムゾーン仕様を検証しないため、タイムゾーンを無効な値に設定する可能性があります。例えば、次のコマンドはタイムゾーンを無効な値に設定しますが、エラーを返しません。  

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

**ISO-8601 オフセット** – `±[hh]:[mm]` 形式の UTC からのオフセット。

ISO-8601 オフセットの例を以下に示します。
+ -8:00
+ \+7: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';
```