2007年7月31日火曜日

水面下でトラブル。

あ~、もうホントに前から書いてるようにwebのメンテナンスに時間を取られたくないのに!!

ここしばらくblogの新しい記事を投稿しようとすると、めちゃくちゃ時間がかかって、しまいにはエラー表示→しかし投稿自体は成功している、という現象が多発していて困っていた。
そして先日、ついに事実上投稿ができなくなってしまった(常に「再構築」でコケちゃうのだ)。

調べてみるとこのblogツール「Movable Type」は、データベースにBerkeley DBを使用しているとそのパフォーマンスの低さからこういった現象が多発する、との記事をいろんな人が書いていて、あちゃー。

紹介されていた付け焼き刃的な対策もいくつか試してみたけど、変わらない。
結局、データベース自体を違うものに移行しないと完全解決はしないらしい。

というわけで、現在使用できるもう一つのデータベース「PostgreSQL」を使ってみる。
データのコピー自体は思ったよりすんなりできたけど、このBerkeley DB→PostgreSQLへの移行はいろいろと問題を生むらしく、新しい記事を投稿しようとするといろいろとトラブルが。

最初は文字コードが原因と思われる、mt_entry_keyが一意でないというエラーが出る。
もう一度文字コードの設定をし直したDBを作って試すとそのエラーは消えたけど、今度は

null value in column "entry_id" violates not-null constraint

というエラーが。
調べてみると、よく分からないけどシーケンスがどうのこうのとかで、専門的な対策をして解決したという事例をいくつか散見。
専門的すぎてとっかかりがなくて、結局PostgreSQLはあきらめる。

今契約しているレンタルサーバでは、月額210円でMySQLを1つ使用できるので、それを注文。
この投稿がうまくいっていれば、成功したということだ。

��

なお、PostgreSQLでは、サブカテゴリ名は親カテゴリが違っていても重複が許されない、とのこと。なんかあったときの自分メモとしても記述。MySQLではこれは問題ないみたい。

��例)
グッズ・アイテム
 2005←×
 2006←×
 2007←×
ゲーム
 2005←×
 2006←×
 2007←×


2 件のコメント: