Non puoi semplicemente lanciare un int4 su uuid; sarebbe un uuid non valido, con solo 32 bit impostati, i 96 bit alti sono zero.
Se desideri generare nuovi UUID per sostituire completamente i numeri interi e se non esistono riferimenti di chiave esterna a tali numeri interi, puoi utilizzare un cast falso che genera effettivamente nuovi valori.
Non eseguire questo senza un backup dei tuoi dati. Elimina definitivamente i vecchi valori in colA
.
ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());
Un approccio migliore è solitamente quello di aggiungere una colonna uuid, quindi correggi eventuali riferimenti di chiave esterna in modo che puntino ad essa e infine rilascia la colonna originale.
È necessario che sia installato il modulo UUID:
CREATE EXTENSION "uuid-ossp";
Le virgolette sono importanti.