1. ホーム
  2. postgresql

[解決済み] Postgres 「ERROR: キャッシュされた計画は結果の型を変更してはならない" (英語)

2022-06-04 17:41:05

質問

この例外は、私のアプリケーションの PostgreSQL 8.3.7 サーバから投げられました。 このエラーが何を意味するのか、また、このエラーに対して何ができるのか、誰か知っていますか?

ERROR:  cached plan must not change result type
STATEMENT:  select code,is_deprecated from country where code=$1

どのように解決するのですか?

このエラーの原因がわかりました。

私のアプリケーションはデータベース接続を開き、実行のために SELECT 文を準備しました。

一方、別のスクリプトがデータベース テーブルを変更し、上記の SELECT ステートメントで返される列の 1 つのデータ型を変更しました。

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