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

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

更新時區檔案的策略

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

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

    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。

若要一起升級引擎和時區檔案,請搭配 --option-group-name--engine-version 選項執行 modify-db-instance。您可以立即執行命令,或將其延遲至維護時段。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。