« 体芸食堂でサッカー観戦をやってた | メイン | ntp.nict.jp が一般公開 »
2006年06月13日
PostgreSQL を使ってみた
諸事情で PostgreSQL を使いました。いつも使っている MySQL からの移植メモということで。
REPLACE tbl_name ( col_1, col_2 ) VALUES ( ?, ? )
REPLACE は PostgreSQL で使用できない。面倒がらずに INSERT と UPDATE を使い分ける。
INSERT tbl_name SET col_1 = ?, col_2 = ?
INSERT で SET を使うことは PostgreSQL では出来ない。これは UPDATE と合わせた形式で便利だったのだけど、素直に VALUES を使う。
・UNSIGNED が使えない
・AUTO_INCREMENT の代わりに SERIAL を使う
というあたりも。
今回は意識しなかったけど、内部的な値の問題で、ブール型 BOOLEAN は使わずに INT か CHAR を使う方が良いというのも。バイト数を考えれば、後者かな。
まとめると、標準化された仕様(SQL99)に従えということですな。ともあれ、良く使われる MySQL と PostgreSQL には、きちっと対応させたいと思う。コードがそのまま使えなくとも、最低限の変更で済むように。
標準化された仕様に従わないと DBI を使ううま味が無いかも。データベースエンジンを変更する機会はそうそう無いんだけれども。今回は、初めて使う PostgreSQL に対応させるために、まずは MySQL で構築したのが始まり。
移植にあたり Web+DB press (Vol.25) の特集を参照しました。データ型の対応表ね。
【関連情報】
・新しい業界標準「SQL99」詳細解説
http://www.atmarkit.co.jp/fnetwork/tokusyuu/01sql99/sql99_0.html
・SQLデータ型一覧
http://www.nslabs.jp/book2-sql-types.rhtml
2006年06月13日 03:19 | Programming