私はこの問題に遭遇し、それを回避する方法を見つけることができませんでした。残念ながら、私が知る限り、ビューを削除し、基になるテーブルの列タイプを変更してから、ビューを再作成する必要があります。これは完全に1回のトランザクションで発生する可能性があります。
制約の延期は、この問題には適用されません。つまり、SET CONSTRAINTS ALL DEFERRED
この制限には影響しません。具体的には、制約の延期は、ERROR: cannot alter type of a column used by a view or rule
を出力する整合性チェックには適用されません。 ビューの下にある列のタイプを変更しようとしたとき。