リポジトリDBにPostgresSqlを使用している場合に、インポートするレポートに長文の計算フィールドが使用されているとエラーになり、インポートが失敗するケースがございます。
・エラーログより抜粋
ERROR (DBAction:insertReportFieldTemplate) - Error occured doing insert: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(8000)
上記エラーが発生した場合、以下の内容を参考にご対応ください。
作業前には不測の事態に備え、リポジトリDBのバックアップを取ってから作業を行ってください。
また、作業後はレポートは問題なく実行できているか等の動作確認をお願いします。
原因:
Postgresでは特定のカラムのサイズが他のDBに比べサイズが小さくなっており、データを挿入する際に桁あふれが発生してしまう。
対応方法:
計算式など、長い文字列が保存されるカラム「validationfunctionname」と「sqlclause」のサイズを拡張してください。
例:SQLを実行してサイズを8000⇒10000へ拡張する場合
- ALTER TABLE validationfunctionname ALTER COLUMN sqlclause TYPE VARCHAR(10000);
- ALTER TABLE reportfieldtemplate ALTER COLUMN sqlclause TYPE VARCHAR(10000);
※.サイズは運用に合わせて変更をしてください。