ヘッダーイメージ 本文へジャンプ
日記

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 の互換性(?)

カテゴリー:日記
目次へ戻る


フッターイメージ