状況
本番リリース前日、検証環境でデータ初期化のリハーサルを行う。手順書の対象ホストは db-stg-01。あなたはダブルチェッカーとして、作業者が入力した次の内容を見ている。
ダブルチェッカーとして最初に止めるべき点は?
$ psql -h db-prd-01 -U app -d shopshop=> TRUNCATE TABLE orders;正答
- TRUNCATE ではなく DELETE で消すべきである
- app ではなく管理者ユーザで接続すべきである
- 接続先が db-stg-01 ではなく db-prd-01 になっている
- テーブル名は public.orders のように明示すべきである
解説
手順書の対象は検証環境の db-stg-01 だが、入力されたホストは本番の db-prd-01 になっている。このまま実行すると本番の注文データがすべて消える。ホスト名は 3 文字違うだけで見た目が似ており、コマンドの中身に目が行くと見落としやすい。TRUNCATE と DELETE の違いや接続ユーザ、スキーマ名の明示は、接続先が正しいと確かめてから考える論点であり、どれも本番データの消失を防がない。
この問題を含む 実務シチュエーション のテストを制限時間つきで解く
実務シチュエーションクイズへ