PostgreSQL8.4.7でlpadのエラー

PostgreSQL8.4.7でlpadのエラー

とあるPHPグループウエア(フリー)を使っているのだが、Linux+Apache+PHP+PostgreSQLで動作している。
環境をCentOS5.5+PostgreSQL8.1.18からCentOS6.0++PostgreSQL8.4.7に移行してみたところ、今まで遭遇しなかったSQLエラーが発生。

# SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_time), 2, ‘0’) AS (以下略)

のようなSELECT文で

ERROR: 関数lpad(double precision, integer, unknown)は存在しません
1: SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_tim…
^
HINT: 指定名称、指定引数型に合う関数がありません。明示的な型キャストが必要かもしれません

となってしまう。

# SELECT lpad(date_part(‘hour’::text, schedule_date.scdl_s_time)::text, 2, ‘0’) AS (以下略)

と、修正することでエラーは解消されました。