すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ApsaraDB RDS for PostgreSQLインスタンスのタイムゾーンの変更

最終更新日:Mar 19, 2024

ApsaraDB RDS for PostgreSQLインスタンスのタイムゾーンがビジネスロジックと一致しない場合、またはアプリケーションが複数のタイムゾーンのデータを処理する必要がある場合は、RDSインスタンスのタイムゾーンを変更できます。 これにより、データが正しく変換され、異なるタイムゾーンに表示されます。

前提条件

RDSインスタンスはクラウドディスクを使用しています。

使用上の注意

  • SET timezoneステートメントは、現在のセッションに対してのみ有効です。 変更を完全に有効にする場合は、[インスタンスパラメーターの変更] の説明に基づいてタイムゾーンを変更することを推奨します。

  • データベースのタイムゾーンを指定する場合は、ALTER database <Name of the DATABASE> SET timezone to '<Name of the time zone>'; ステートメントを実行します。

    説明

    データベースのタイムゾーンをデフォルトのタイムゾーンに復元する場合は、ALTER database <Name of the DATABASE> SET timezone to default; ステートメントを実行します。

  • PostgreSQLは、タイムスタンプにTIMESTAMPTIMESTAMPTZの2つのデータ型をサポートしています。 ビジネス要件に基づいてデータ型を選択することを推奨します。

    • TIMESTAMP: 日付と時刻の組み合わせ値をUTCに格納しますが、タイムゾーンデータは格納しません。 このトピックに基づいてタイムゾーンを変更した場合、このタイプの値のクエリ結果は変更されません。

    • TIMESTAMPTZ: タイムゾーン対応の日付と時刻の組み合わせ値を格納します。 TIMESTAMPTZ型の値を挿入すると、システムは値をUTC値に変換し、UTC値をテーブルに格納します。 RDSインスタンスから値をクエリすると、システムは値をインスタンスまたはデータベースの設定されたタイムゾーンで指定された時間に変換します。 このトピックに基づいてタイムゾーンを変更すると、このタイプの値のクエリ結果は新しいタイムゾーンによって異なります。

タイムゾーンの変更

クラウドディスクを使用するRDSインスタンスのタイムゾーンのみを変更できます。 タイムゾーンを変更するには、ApsaraDB RDSコンソールにログインし、[パラメーター] ページでtimezoneパラメーターを変更します。 詳細は、「インスタンスパラメーターの変更」をご参照ください。

timezone

説明

RDSインスタンスがローカルディスクを使用している場合、timezoneパラメーターはサポートされていません。

サポートされているタイムゾーンの照会

次のステートメントを実行して、サポートされているタイムゾーンを照会できます。

SELECT name,utc_offset FROM pg_timezone_names;
説明

pg_timezone_namesテーブルの詳細については、「pg_timezone_names」をご参照ください。

查看支持时区

参考資料