今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

DBのレストア

現在、某協力会社に作ってもらっているWebシステムのプレリリース版が届いた。前のバージョンである程度動作させていたけど、一部仕様変更をお願いしておいたのができあがってきた。仕様変更に伴い、DBのテーブルが一部変更されていた。マスターや既に入力済みのテストデータが消えるのは哀しいので、DBをレストアするスクリプトをつけてくれるようにお願いしておいた。
某協力会社が添付してくれたインストール手順書に従ってインストールを実行する。

$ su root
# chmod +x setupdb.sh
# ./setupdb.sh
  (エラーが発生)
# su postgres
$ ./setupdb.sh
  :
データをバックアップしています…

./setupdb.sh: line 41: xxx.bak: そのようなファイルやディレクトリはありません。

データベースを削除しています。
  :
データベースをリストアしています…

./setupdb.sh: line 62: xxx.bak: そのようなファイルやディレクトリはありません。
  :
完了しました。

$ 

スクリプトを実行したディレクトリには postgres さんが書き込むための permission が与えられてなかったよ。だからバックアップファイルを作れなかったんだね。
結局、DBの内容をすべて失ってしまったよ。orz