データメンテナンス CLI プラグインコマンド
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2023年05月30日(火)
これらのコマンドは、基本の Heroku CLI の一部ではありません。詳細は、「インストール」を参照してください。
概要
プラグインの CLI コマンドは、Heroku データアドオンの計画的なメンテナンスを管理するユーザーを支援します。これらのメンテナンス関連コマンドの使用はオプションです。Heroku では、Heroku データアドオンのメンテナンスを人手を介さず自動的にスケジュールして実行します。
Essential 層のデータベースのメンテナンスは、必要に応じて予告なく実行されます。次のコマンドは、Heroku Postgres と Heroku Data for Redis の Standard、Premium、Private、Shield の各プランのアドオンにのみ関連します。
メンテナンスプロセスをよりいっそう制御する必要がある場合、これらのコマンドを使用して、計画的なメンテナンスが実行される時期と方法を、ある程度制御できます。
Heroku Postgres と Heroku Data for Redis の場合は、これらのコマンドにより次のことが可能になります。
- メンテナンスウィンドウをレビューする
- メンテナンスウィンドウを変更する
- メンテナンスの実行をスケジュールする
- 既存のメンテナンスを再スケジュールする
- メンテナンスをトリガーする
- 計画的なメンテナンスの詳細を表示する
- 計画的なメンテナンスの履歴をレビューする
- トリガーされたメンテナンスが完了するのを待機する
- ステージングアプリへのメンテナンスの影響をテストする
メンテナンスについての詳細は、「Heroku Data for Redis Maintenance」(Heroku Data for Redis のメンテナンス) および「Heroku Postgres Maintenance」(Heroku Postgres のメンテナンス) を参照してください。CLI のプラグイン全般については、「CLI プラグインの使用」を参照してください。
これらのコマンドは、以前の pg:maintenance
および redis:maintenance
のコマンドの機能を含み、それらを拡張しています。Heroku では、今後それらのコマンドを非推奨とし、このプラグインのコマンドを推奨することを計画しています。
データメンテナンス CLI プラグインと Apache Kafka for Heroku
Apache Kafka for Heroku の場合、CLI プラグインでは、クラスターでの進行中および履歴のメンテナンスについての詳細を表示するための限定的なサポートが提供されています。data:maintenances:info および data:maintenances:history コマンドを、Kafka アドオンに利用できます。Kafka のメンテナンスについては、「Robust Kafka」(堅牢な Kafka) を参照してください。
インストール
データメンテナンス CLI プラグインを追加する前に、Heroku CLI がインストールされている必要があります。手順については、「Heroku CLI」を参照してください。
Heroku CLI がインストールされている場合は、次のようにしてデータメンテナンス CLI プラグインをインストールします。
# Install the plugin
heroku plugins:install @heroku-cli/plugin-data-maintenance
# List arguments and sub-commands
heroku help data:maintenances
コマンド
heroku data:maintenances
アプリの各 Heroku データアドオンのための最新のメンテナンスイベントが一覧表示されます。このイベントは、保留中のメンテナンス (ある場合) か、一番最近完了したメンテナンスのいずれかです。保留中のメンテナンスイベントには、“required by” (必須時期) および “scheduled for” (予定時期) のタイムスタンプが含まれています。
USAGE
$ heroku data:maintenances
OPTIONS
-a, --app=app (required) app to list add-on maintenances for
-j, --json output result in json
-r, --remote=remote git remote of app to use
-x, --extended show extra columns
--columns=columns only show provided columns (comma-separated)
--csv output is csv format
--filter=filter filter property by partial string matching, ex: name=foo
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--sort=sort property to sort by (prepend '-' for descending)
EXAMPLES
$ heroku data:maintenances --app example-app
$ heroku data:maintenances --app example-app --json
heroku data:maintenances:info
単一の Heroku データアドオンについての一番最近のメンテナンスイベントの詳細を表示します。このイベントは、保留中のメンテナンス (ある場合) か、一番最近完了したメンテナンスのいずれかです。保留中のメンテナンスイベントには、“required by” (必須時期) および “scheduled for” (予定時期) のタイムスタンプが含まれています。
USAGE
$ heroku data:maintenances:info ADDON
ARGUMENTS
ADDON data add-on to show maintenance for
OPTIONS
-a, --app=app app to list addon maintenances for
-j, --json output result in json
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:info postgresql-sinuous-83720
$ heroku data:maintenances:info postgresql-sinuous-83720 --json
$ heroku data:maintenances:info DATABASE --app example-app
heroku data:maintenances:window
単一の Heroku データアドオンについての設定済みのメンテナンスウィンドウを表示します。メンテナンスウィンドウは、メンテナンスプロシージャーが自動的にトリガーされる曜日と 1 日の時間帯です。この値は data:maintenances:window:update
コマンドで変更できます。また、data:maintenances:run
コマンドを使用して、スケジュールされた時刻の前にメンテナンスプロシージャーをトリガーすることもできます。
USAGE
$ heroku data:maintenances:window ADDON
ARGUMENTS
ADDON add-on to show window for
OPTIONS
-a, --app=app app to run command against
-j, --json output result in json
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:window postgresql-sinuous-92834
$ heroku data:maintenances:window DATABASE --app example-app
heroku data:maintenances:window:update
単一の Heroku データアドオンについての設定済みのメンテナンスウィンドウを変更します。
アドオンに対して保留中のメンテナンスがスケジュールされている場合、メンテナンスウィンドウを変更すると、そのアドオンの定期的なメンテナンス時刻が変更されます。
メンテナンスウィンドウの引数はUTCです。たとえば、メンテナンスを米国太平洋時間で月曜日の午前 10 時に実行する場合、"Monday 18:00" に設定します。
USAGE
$ heroku data:maintenances:window:update ADDON DAY_OF_WEEK TIME_OF_DAY
ARGUMENTS
ADDON add-on to change window for
DAY_OF_WEEK UTC maintenance window day of the week
TIME_OF_DAY UTC maintenance window time of day
OPTIONS
-a, --app=app app to run command against
-j, --json output result in json
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:window:update postgresql-sinuous-92834 sunday 13:30
$ heroku data:maintenances:window:update postgresql-sinuous-92834 sunday 1:30PM
$ heroku data:maintenances:window:update DATABASE sunday 1:30PM --app example-app
heroku data:maintenances:wait
保留中のメンテナンスがトリガーされた場合、このコマンドは、メンテナンスが完了するまでブロックされます。
USAGE
$ heroku data:maintenances:wait ADDON
ARGUMENTS
ADDON data add-on
OPTIONS
-a, --app=app app to run command against
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:wait postgresql-sinuous-83720
$ heroku data:maintenances:wait DATABASE --app example-app
heroku data:maintenances:schedule
新しい定期的なメンテナンスを作成するか、既存の保留中のメンテナンスの定期的なメンテナンス時刻を更新します。定期的なメンテナンス時刻は常に、設定されたメンテナンスウィンドウ内にあります。
USAGE
$ heroku data:maintenances:schedule ADDON
ARGUMENTS
ADDON addon to schedule or re-schedule maintenance for
OPTIONS
-a, --app=app app to run command against
-r, --remote=remote git remote of app to use
--weeks=weeks [default: 2] the number of weeks to delay maintenance for
EXAMPLES
$ heroku data:maintenances:schedule postgresql-sinuous-83910
$ heroku data:maintenances:schedule postgresql-sinuous-83910 --weeks 3
$ heroku data:maintenances:schedule postgresql-sinuous-83910 --weeks -2
$ heroku data:maintenances:schedule HEROKU_POSTGRESQL_RED --app example-app
--weeks
を使用する場合、正の数は、指定した週数だけ、スケジュール済みのメンテナンス時間を遅らせ、負の数は、指定した週数だけ、スケジュール済みのメンテナンス時間を進ませます。たとえば、--weeks 3
はスケジュール済みのメンテナンス時間を 3 週間延期し、--weeks -2
はスケジュール済みのメンテナンス時間を 2 週間前倒しします。メンテナンス時間を再スケジュールできるのは、設定されているメンテナンスウィンドウ内に限られ、期限後や現在より前に再スケジュールすることはできません。
heroku data:maintenances:run
単一の Heroku データアドオンについての保留中のメンテナンスをトリガーします。
USAGE
$ heroku data:maintenances:run ADDON
ARGUMENTS
ADDON data add-on
OPTIONS
-a, --app=app app to run command against
-f, --force start maintenance without entering application maintenance mode
-r, --remote=remote git remote of app to use
-w, --wait wait for maintenance to complete before exiting
EXAMPLES
$ heroku data:maintenances:run postgresql-sinuous-92834
$ heroku data:maintenances:run postgresql-sinuous-92834 --force
$ heroku data:maintenances:run postgresql-sinuous-92834 --wait
$ heroku data:maintenances:run DATABASE --app example-app
heroku data:maintenances:history
単一の Heroku データアドオンについての一番最近のメンテナンスイベントの詳細を表示します。
USAGE
$ heroku data:maintenances:history ADDON
ARGUMENTS
ADDON data add-on
OPTIONS
-a, --app=app app to run command against
-j, --json show result formatted in json
-n, --num=num [default: 5] number of maintenances to show (maximum is 20)
-r, --remote=remote git remote of app to use
-x, --extended show extra columns
--columns=columns only show provided columns (comma-separated)
--csv output is csv format
--filter=filter filter property by partial string matching, ex: name=foo
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--sort=sort property to sort by (prepend '-' for descending)
EXAMPLES
$ heroku data:maintenances:history postgresql-sinuous-92834
$ heroku data:maintenances:history postgresql-sinuous-92834 --num 10
$ heroku data:maintenances:history postgresql-sinuous-92834 --json
$ heroku data:maintenances:history DATABASE --app example-app