timezone
値 (デフォルトは太字)
UTC、タイムゾーン
構文
SET timezone { TO | = } [ time_zone | DEFAULT ] SET time zone [ time_zone | DEFAULT ]
説明
現在のセッションのタイムゾーンを設定します。タイムゾーンは、協定世界時 (UTC) またはタイムゾーン名からのオフセットにすることができます。
注記
クラスターパラメータグループを使用して timezone
設定パラメータを設定することはできません。タイムゾーンは、SET コマンドを使用して現在のセッションにのみ設定できます。指定のデータベースユーザーが実行するすべてのセッションのタイムゾーンを設定するには、ALTER USERコマンドを使用します。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
タイムゾーン形式
Amazon Redshift では、以下のタイムゾーン形式がサポートされます。
-
タイムゾーンの名前
-
INTERVAL
-
POSIX スタイルのタイムゾーン指定
-
ISO-8601 オフセット
タイムゾーンの省略形 (PST や PDT など) は、UTC からの固定オフセットとして定義されており、夏時間ルールは含まれていないため、SET コマンドではタイムゾーンの省略形がサポートされていません。
タイムゾーン形式の詳細については、以下を参照してください。
タイムゾーン名 – America/New_York などのフルタイムゾーン名。フルタイムゾーン名には、夏時間ルールを含めることができます。
タイムゾーン名の例を以下に示します。
-
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
例
次の例では、現在のセッションのタイムゾーンを 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';