いま、昔のソースをWindows版のPostgreSQL 8.3で動かそうとしたんだけど、
to_timestampのところで、エラー・・・
function to_timestamp(date,unknown) does not exist
とかでるのよ。to_timestampがないわけないけど、型がunknown??
と思って調べてみたら・・・
PostgreSQL 8.3 に関する技術情報
http://www.sraoss.co.jp/technology/postgresql/8.3/
(以下斜体は上記サイトより引用)
8.3 への移行
すべての過去のリリースからデータを移行する場合、pg_dump を使用したダンプ・リストアが必要です。
互換性のない変更点
一般
文字でない型 (日付型など) を自動的に text 型に変換しないようにしました。
今までは text 型入力を受けとる演算子や関数に文字でない値が渡されると、自動的に text 型にキャストしていました。 これからは text 型でないデータを渡したい場合には text 型への明示的なキャストが必要になります。
そして、キャストしないと・・・
これらの SQL は "function does not exist" や "operator does not exist" エラーになります。
げ、げげ・・・
to_timestampは、まさに、こいつだ・・・
つまり、たとえば、変数updayがdate型だったりしたら、upday::textって書かないといけない。
あちゃー・・・
もう、めげた・・・風邪引いてるのに・・・