Postgres: 「エラー: キャッシュされたプランは結果タイプを変更できません」 質問する

Postgres: 「エラー: キャッシュされたプランは結果タイプを変更できません」 質問する

この例外は、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 つのデータ型を変更していました。

データベース テーブルを変更した後、アプリケーションを再起動することでこの問題を解決しました。これにより、データベース接続がリセットされ、準備されたステートメントがエラーなしで実行できるようになりました。

おすすめ記事