続(3) 新PCをデュアルブートにすることにした

su-postgresさん
su-postgresさん
今さっきようやく引越しが完了した。
3週間!!
サボっていたのもあるが、最後の詰めは思ったより時間がかかった。

前回の日記でひっかかっていた、日本語文字コードがUTF8でないために、一部のテーブルが新PCへ正常にリストアできなかった問題についてはすぐに解決した。

このときの手順は下記のとおり。
旧PC上でpostgresqlのコマンドを使ってデータをcsv形式のファイルに吐き出し、perlで当該ファイルの文字コードをsjisからutf8に変換するコードを書いてこれを実行。
コードは、cpan経由でダウンロードしてきたJcodeというモジュールを使って書いた。

無事、csvファイルの日本語データの文字コードをsjisからutfに変換できたので、これを新PCにコピー。次に新PCでpostgresqlのコマンドを使ってcsvファイルのデータをdbのテーブルにインポート。無事完了。これでデータベースの引越しまでは完了した。

ここまではすぐできたが、日々の株価をDBにインポートするphpのコードを実行したところ、動作しない。。。
rpmでインストールされたモジュールをチェックしてみると、mysqlとの連携モジュールはインストールされているようだが、postgeresqlとの連携モジュールが入っていないようだ。

探した。
インストールした。
失敗・・。

どうも、fedora7の同じディストリビューションに対応したパッケージをインストールしないとライブラリにいろいろ依存関係があって、うまくインストールできないらしい。
(詳しい人にとってはそんなの常識なのだろう)

また探した。
あった。
インストールした。
モジュールのインストールは無事完了。

再度phpのコードを動かしてみる。
動かない・・。
なぜ??
ここでクリンチしてしばらく放置。

で、ようやく重い腰をあげてなぜ動かないかの調べたところ、表示やDBへの接続を簡単にするために自分で作ったphpライブラリを移動するのを忘れていた。
dbへの接続やブラウザへの表示ツールは、この自作ライブラリの関数を使っていたので、そりゃ動かないはずだ。

で、自作ライブラリも旧PCから新PCへ移動。
恐る恐る実行・・
やっと動いた!
喜びもつかのま、今度は実行結果の出力が文字化け。
phpのコードにも出力結果に日本語を表示するように書いているが、これをutfに変換するのを忘れていた。
perlのプログラムを修正して、指定したディレクトリ内のファイルを一括して文字コード変換できるようにし、phpコード、perlコードを今度は一発ですべてsjisからutfに変換。

再度実行。
長かったが、ようやくちゃんと動いた。

ためしに1ヶ月分の上場銘柄株価データをインポートしてみる。
何分かかったかきちんと計測していないが、早い!

ポンコツ旧PCは一月分のデータをインポートするのに、1時間くらいはかかっていたと思うが、それが数分で終わった。

苦労して引越しした甲斐があった。。。

で、操作手順を記録に残しておけば次の引越しのときに役に立つんだろうなと思うが、すでに手遅れ。
もう何をやったのかきちんと思い出せない。
ここに書いた日記が唯一の記録である。
ただ、大まかな手順でもこうやってメモすることができたので、次回は1から調べる必要はなさそうである。

ながかった。。
su-postgresさんのブログ一覧