SQLiteが database disk image is malformed エラーを吐いた話

先ほどMacがOSごとクラッシュしました。バックエンドにSQLiteを使ったクローラを走らせていたのですが、再起動してデータベースを叩いてみると、表題のエラーがでてデータにアクセス出来なくなりました。2週間ほど回し続けていたデータなので、一瞬変な汗をかきましたが、復元出来たのでメモ書きを残しておきます。

Continue reading “SQLiteが database disk image is malformed エラーを吐いた話”

CentOSのPostgreSQLを9.2にアップグレードする

CentOS6系だとyumでPostgreSQLをインストールすると8.4が入ります。僕もこれで運用していました。ところが全文検索がデフォでサポートされているのは9.1以降なのでアップデートしたいという話です。

前もチラッと書きましたが、マルチバイト文字に対応するには若干コードを修正する必要があるので、自前でビルドという事になります。RPMを適当に探してきてというわけにはいきません。

またyum管理下のPostgreSQLを自前ビルドのバージョンで更新ということで、明らかに面倒そうなのでほったらかしていたのですが、先ほど重い腰を上げて作業したのでログを残しておきます。

Continue reading “CentOSのPostgreSQLを9.2にアップグレードする”

OSXでPostgreSQLの日本語全文検索を使いたい件

PostgreSQLの9.1以降では全文検索がデフォルトでサポートされているというので、早速試してみたところbrewでインストールしたものだとマルチバイト文字に対応していません。仕方が無いのでソースから入れようとしたのですが、手こずりまくった挙げ句、上手く解決できなかったのでメモ書きを残しておきます。

Continue reading “OSXでPostgreSQLの日本語全文検索を使いたい件”

postgresユーザのパスワード忘れて困った

最近herokuをちょろっとだけ触っています。herokuではPostgreSQLが使われてるのでローカルにもインストールしたんですけど、ちょっと間が空いて、Postgresユーザーのパスワード忘れて困ったのでメモ書きです。環境はOSX 10.6です。

Continue reading “postgresユーザのパスワード忘れて困った”

MySQLをlatin1のまま使ってて、Djangoからだと文字化けた話

表題の通りMySQL適当に使ってたってだけの話なんですが、MySQLってインストールすると、デフォルトで文字コードは軒並みlatin1になってるわけです。utf8にしててくれても良いんじゃねと思わなくもないです。

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.1.51, for apple-darwin10.3.0 (i386) using readline 5.1
...
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
...
--------------

で、この設定のままutf8な文字列を突っ込んでて、でも別にmysqlコマンドやらpythonのMySQLdbやらから読み書きしても文字化けしないし、まぁ良いかと思ってほったらかしてた訳です。そしたらDjangoから読もうとしたら文字化けしたので、なんでやねんと思って調べたのでメモしておきます。

Continue reading “MySQLをlatin1のまま使ってて、Djangoからだと文字化けた話”