Me he encontrado con este problema y no pude encontrar ninguna forma de evitarlo. Desafortunadamente, lo mejor que puedo decir es que se deben eliminar las vistas, modificar el tipo de columna en la tabla subyacente y luego volver a crear las vistas. Esto puede suceder completamente en una sola transacción.
El aplazamiento de restricciones no se aplica a este problema. En otras palabras, incluso SET CONSTRAINTS ALL DEFERRED
no tiene impacto en esta limitación. Para ser específicos, el aplazamiento de restricciones no se aplica a la verificación de consistencia que imprime ERROR: cannot alter type of a column used by a view or rule
cuando uno intenta alterar el tipo de una columna subyacente a una vista.