更新時區檔案的策略 - Amazon Relational Database Service

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

更新時區檔案的策略

升級資料庫引擎並將TIMEZONE_FILE_AUTOUPGRADE選項新增至選項群組是個別的操作。新增 TIMEZONE_FILE_AUTOUPGRADE選項會在有較新的可用時區檔案時啟動更新。您可以立即執行下列命令 (僅顯示相關選項),或在下一個維護時段執行:

  • 僅使用下列RDSCLI命令升級資料庫引擎:

    modify-db-instance --engine-version name ...
  • 僅使用下列CLI命令新增 TIMEZONE_FILE_AUTOUPGRADE 選項:

    add-option-to-option-group --option-group-name name --options OptionName=TIMEZONE_FILE_AUTOUPGRADE ...
  • 升級資料庫引擎,並使用下列CLI命令將新選項群組新增至執行個體:

    modify-db-instance --engine-version name --option-group-name name ...

您的更新策略取決於您要一起升級資料庫和時區檔案,還是只執行其中一個操作。請記住,如果您更新選項群組,然後在個別API操作中升級資料庫引擎,則升級資料庫引擎時,時區檔案更新可能目前正在進行中。

本節中的範例假設如下情況:

  • 您尚未TIMEZONE_FILE_AUTOUPGRADE新增至目前與資料庫執行個體相關聯的選項群組。

  • 您的資料庫執行個體使用資料庫版本 19.0.0.0.ru-2019-07.rur-2019-07.r1 和時區檔案 DSTv33。

  • 您的資料庫執行個體檔案系統包含檔案 DSTv34。

  • 版本更新 19.0.0.0.ru-2022-10.rur-2022-10.r1 包含 DSTv35。

若要更新您的時區檔案,您可以使用下列策略。

更新時區檔案,而不升級引擎

在此案例中,您的資料庫正在使用 DSTv33,但可在資料庫執行個體檔案系統上DSTv34使用。您想要將資料庫執行個體使用的時區檔案從 更新DSTv33為 DSTv34,但不想將引擎升級至新的次要版本,其中包含 DSTv35。

add-option-to-option-group 命令中,將 TIMEZONE_FILE_AUTOUPGRADE新增至資料庫執行個體所使用的選項群組。指定要立即新增選項還是將其延遲至維護時段。套用 TIMEZONE_FILE_AUTOUPGRADE選項後, RDS會執行下列動作:

  1. 檢查是否有新DST版本。

  2. 決定 檔案系統上DSTv34可用的 。

  3. 立即更新時區檔案。

升級時區檔案和資料庫引擎版本

在此案例中,您的資料庫正在使用 DSTv33,但可在資料庫執行個體檔案系統上DSTv34使用。您想要將資料庫引擎升級至次要版本 19.0.0.0.ru-2022-10.rur-2022-10.r1,其中包括 DSTv35,並在引擎升級DSTv35期間將時區檔案更新為 。因此,您的目標是直接略過時區檔案DSTv34並將其更新為 DSTv35。

若要一起升級引擎和時區檔案,modify-db-instance請使用 --option-group-name--engine-version選項執行。您可以立即執行命令或將其延遲至維護時段。In --option-group-name,請指定包含 選項TIMEZONE_FILE_AUTOUPGRADE的選項群組。例如:

aws rds modify-db-instance --db-instance-identifier my-instance \ --engine-version new-version \ ----option-group-name og-with-timezone-file-autoupgrade \ --apply-immediately

RDS 開始將您的引擎升級至 19.0.0.0.ru-2022-10.rur-2022-10.r1。套用 TIMEZONE_FILE_AUTOUPGRADE選項後, 會RDS檢查是否有新DST版本,請參閱 DSTv35 19.0.0.0.ru-2022-10.rur-2022-10.r1 中提供的 ,並立即開始更新為 DSTv35。

若要立即升級引擎,然後升級時區檔案,請依序執行 操作:

  1. 僅使用下列CLI命令升級資料庫引擎:

    aws rds modify-db-instance \ --db-instance-identifier my-instance \ --engine-version new-version \ --apply-immediately
  2. 使用下列CLI命令,將 TIMEZONE_FILE_AUTOUPGRADE選項新增至連接至執行個體的選項群組:

    aws rds add-option-to-option-group \ --option-group-name og-in-use-by-your-instance \ --options OptionName=TIMEZONE_FILE_AUTOUPGRADE \ --apply-immediately

升級您的資料庫引擎版本,而不更新時區檔案

在此案例中,您的資料庫正在使用 DSTv33,但可在資料庫執行個體檔案系統上DSTv34使用。您想要將資料庫引擎升級至 19.0.0.0.ru-2022-10.rur-2022-10.r1 版,其中包含 DSTv35,但保留時區檔案 DSTv33。您可能會因下列原因選擇此策略:

  • 您的資料不使用 TIMESTAMP WITH TIME ZONE 資料類型。

  • 您的資料會使用 TIMESTAMP WITH TIME ZONE 資料類型,但您的資料不會受到時區變更的影響。

  • 您想要延遲更新時區檔案,因為您無法容忍額外的停機時間。

您的策略取決於下列哪個可能性是真的:

  • 您的資料庫執行個體並未與包含 TIMEZONE_FILE_AUTOUPGRADE 的選項群組相關聯。在您的modify-db-instance命令中,請勿指定新的選項群組,這樣 RDS就不會更新您的時區檔案。

  • 您的資料庫執行個體目前與包含 的選項群組相關聯TIMEZONE_FILE_AUTOUPGRADE。在單一modify-db-instance命令中,將您的資料庫執行個體與不包含 的選項群組建立關聯,TIMEZONE_FILE_AUTOUPGRADE並將資料庫引擎升級至 19.0.0.0.ru-2022-10.rur-2022-10.r1。