Eu me deparei com esse problema e não consegui encontrar nenhuma maneira de contornar isso. Infelizmente, pelo que posso dizer, é preciso descartar as visualizações, alterar o tipo de coluna na tabela subjacente e, em seguida, recriar as visualizações. Isso pode acontecer inteiramente em uma única transação.
O adiamento de restrição não se aplica a esse problema. Em outras palavras, mesmo
SET CONSTRAINTS ALL DEFERRED
não tem impacto nesta limitação. Para ser específico, o adiamento de restrição não se aplica à verificação de consistência que imprime ERROR: cannot alter type of a column used by a view or rule
quando se tenta alterar o tipo de uma coluna subjacente a uma exibição.