らるるのボカロ廃でもいいじゃないか日記@らるるのわがまま

2004年2月の記事

インデックスへ | 2004年3月 »


集団カゼ

[日常]

'04/02/21(土曜日)15:33:48

研究室内でカゼが大流行

1/4くらいの人が被害を受けてます.私も被害を受けてます.被害者なのか加害者なのかは微妙な問題ですが,被害者妄想癖ならるるは被害者だと断固と主張します.

で,しかもたちが悪く,体はだるいわのどは痛いわ熱は出るわと・・・おかげで大学を休む口実ができて(略

BerkeleyDB→PostgreSQL

[Linux] [rarul.comサーバ] [スクリプト・CGI]

'04/02/12(木曜日)05:13:00

BerkeleyDBのままMovableTypeを動かすとエントリを増やすたびにどんどん重くなるというウワサがあらゆるところに書かれていたので、とっととPostgreSQLに移行することにした。

mt-check.cgiで「DBD/DBI:Pg入れろ」といわれたので、CPANから入れようとする・・・とエラーが出る。あきらめてtar.gzなソースコードをどこからともなく落としてきて何も考えずにperl Makefile.PL/make/make installしたら何事もなくインストールできた。ええんやろかと思いながらmt-check.cgiを動かすと合格。

次はデータのコンバート。このへん参考にmt.cfgをいじってmt-db2sql.cgiを動かそうとする・・・・が動くわけもない。まだPostgreSQLのデータベースを作っていなかった。

気を取り直し、Apacheの動作権限のユーザでPostgreSQLのデータベースを作ろう(createdb)とするも、なにやらユーザがまだないとかいわれたのでユーザも作ってやる(createuser)とするも、今度は認証がどうやらと文句を言われた。ここでちまちま30分ほどさまよう。どうやらPostgreSQLのデフォルトでは他人のデータベースをいじったりできないようになっているらしく、pg_hba.confをいじって誰の所属のデータベースでも認証なしにいじれるようにしておきここはとりあえず終了。

先に戻りmt-db2sql.cgiを実行。ガリガリと音を立てて文字列が流れていき「いけたか?」と思いきや、「ERROR: value too long for type character varying(255)」とか吐きやがる。どうやら、MovableType上で新規作成した記事(Entry)はタイトルの長さを自動でチェックするが、importしたものについてはチェックしてないらしく、タイトルなしでのimportの場合デフォでは本文と全く同じ長さのタイトルを吐いているらしく、このためRDBMSのスキーマの長さチェックに引っかかったらしい。過去日記を無理矢理MTに移行してしまおうとしたのがアダになった。

一回Exportしてタイトルをエディタでいじり(キーマクロ便利♪)、インポートし直してもう一度mt-db2sq.cgiにトライ。今度こそ・・・と思いきやまたまたエラー。なんか日付のフォーマットがダメだとか言われてるんで、該当するEntryの日付をみる・・・「"11/31/2003"」  一見問題ないように見えるが明らかに間違っている。11月に31日などない。ってことで適当に直しておき(ぉぃ)いざ再々mt-db2sq.cgi・・・で完了。(ちなみにアメリカ式では日付は「月/日/年」の順です)

ちまたじゃMTは煩雑すぎるという話もあるが、多少SQLやスクリプトになれてさえいればさほど難しくはなさそう。

投稿者: らるる | レスつける (1) | トラックバックしたい人 (0)
らるる > すいません、pg_hba.confでなくpg_hda.confと記載していました。Vine2.6の場合/var/lib/pgsql/dataにありますです。 ('04/06/09(水曜日)12:35:35)