この例外は、PostgreSQL 8.3.7 サーバーによってアプリケーションにスローされています。このエラーの意味と対処法を知っている人はいますか?
ERROR: cached plan must not change result type
STATEMENT: select code,is_deprecated from country where code=$1
ベストアンサー1
このエラーの原因が分かりました。
アプリケーションはデータベース接続を開き、実行用の SELECT ステートメントを準備しました。
一方、別のスクリプトがデータベース テーブルを変更し、上記の SELECT ステートメントで返される列の 1 つのデータ型を変更していました。
データベース テーブルを変更した後、アプリケーションを再起動することでこの問題を解決しました。これにより、データベース接続がリセットされ、準備されたステートメントがエラーなしで実行できるようになりました。