本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新時區檔案的策略
升級資料庫引擎並將 TIMEZONE_FILE_AUTOUPGRADE 選項新增至選項群組是個別的操作。如果有更新的時區檔案可用,新增 TIMEZONE_FILE_AUTOUPGRADE 選項會初始化時區檔案的更新。您可以立即或在下一個維護時段執行下列命令 (僅顯示相關選項):
-
僅使用下列 RDS CLI 命令升級資料庫引擎:
modify-db-instance --engine-versionname... -
僅使用下列 CLI 命令新增
TIMEZONE_FILE_AUTOUPGRADE選項:add-option-to-option-group --option-group-namename--options OptionName=TIMEZONE_FILE_AUTOUPGRADE ... -
使用以下 CLI 命令升級資料庫引擎,並將新的選項群組新增至執行個體:
modify-db-instance --engine-versionname--option-group-namename...
您的更新策略取決於您要一起升級資料庫和時區檔案,還是只執行其中一個操作。請注意,如果您更新選項群組,然後在不同的 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 會執行下列操作:
-
檢查是否有新的 DST 版本。
-
判斷 DSTv34 是否可在檔案系統上使用。
-
立即更新時區檔案。
升級時區檔案和資料庫引擎版本
在這個案例中,您的資料庫使用的是 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-identifiermy-instance\ --engine-versionnew-version\ ----option-group-nameog-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。
若要立即升級您的引擎,然後升級時區檔案,請依序執行操作:
-
僅使用下列 CLI 命令升級資料庫引擎:
aws rds modify-db-instance \ --db-instance-identifiermy-instance\ --engine-versionnew-version\ --apply-immediately -
使用下列 CLI 命令,將
TIMEZONE_FILE_AUTOUPGRADE選項新增到連接至執行個體的選項群組:aws rds add-option-to-option-group \ --option-group-nameog-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。