Сблъсках се с този проблем и не можах да намеря начин да го заобиколя. За съжаление, доколкото мога да кажа, трябва да се премахнат изгледите, да се промени типа на колоната в основната таблица и след това да се създадат отново изгледите. Това може да се случи изцяло в една транзакция.
Отлагането на ограниченията не се отнася за този проблем. С други думи, дори SET CONSTRAINTS ALL DEFERRED
няма влияние върху това ограничение. За да бъдем конкретни, отлагането на ограниченията не се прилага към проверката за съгласуваност, която отпечатва ERROR: cannot alter type of a column used by a view or rule
когато някой се опитва да промени типа на колона, която е в основата на изглед.