|
日記 |
2013年02月10日 20時48分 |
PostgreSQLのバージョンアップではまった |
古いマシンで動いているサーバーをVPSのサーバーにするのにセットアップをしていたんですが、いまどきのVPSには、私の知識が乏しいせいか、古いOSではディスクが認識しなかったので、しょうが無しにCentOS6.3にシステムを入れることにしました
(しつこく無視を押し続けると入るのは入ったけど、気持ち悪いので・・・)
当時使ってたシステムがRedHat9とかでPostGreSQLは7.xだったと思う
CentOS6.3のは8.4.13が入っていて、db_dump でコピーしたら問題なく使えていると思ってたんですが、システムを動かすと、なにやらエラーが出る
function to_number(character, integer) does not exist
えっ? to_number って作った関数じゃないよね?
なんで?と思って調べると、2つ目の引数が数字になってるのが気に入らないみたい
確かに文字の引数を書かないとダメなんですが、以前は暗黙の型変換でうまく動いていたみたい
バグと言えばバグなんですが、いまさら全部のSQLを修正するわけにもいかず・・・
いろいろ調べてると、8.4から型変換を定義できるみたい
CREATE CAST ( int4 AS text ) WITH INOUT AS IMPLICIT;
こんな感じ
8.4より前のバージョンだと、型変換の関数を用意して、CASTの定義をするみたい
CREATE FUNCTION int4text(int4) RETURNS text AS
'SELECT textin(int4out($1))' LANGUAGE sql IMMUTABLE STRICT;
CREATE CAST (int4 AS text)
WITH FUNCTION int4text(int4) AS IMPLICIT;
こんな感じ
もう1つ TOMCAT でもはまりました、tomcat も古ーいバージョンから6に上がるので
何かあるとは思ってたんですが、こちらはうまく動いたようです
ただ、HOSTNAME が逆引きできないと立ち上がってくれないんですね・・・
基本的なところではまりました
まぁなんとか動いて、よかった、よかった
・CentOSの設定
・SPFレコードのチェック
・CGI が動かなくなる
・CentOSのバージョンアップ
・PostgreSQLのバージョンアップではまった
・Postgresql の互換性
・Java Web Start の互換性(?)
|
|
目次へ戻る
|
|
|