Je kunt niet zomaar een int4 casten naar uuid; het zou een ongeldige uuid zijn, met slechts 32 bits ingesteld, waarbij de hoge 96 bits nul zijn.
Als u nieuwe UUID's wilt genereren om de gehele getallen te vervangen, en als er geen bestaande refererende sleutelverwijzingen naar die gehele getallen zijn, kunt u een nepcast gebruiken die daadwerkelijk nieuwe waarden genereert.
Voer dit niet uit zonder een back-up van uw gegevens. Het gooit permanent de oude waarden weg in colA
.
ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());
Een betere benadering is meestal om toe te voegen een uuid-kolom, corrigeer vervolgens eventuele externe sleutelreferenties om ernaar te verwijzen en laat ten slotte de originele kolom vallen.
U moet de UUID-module geïnstalleerd hebben:
CREATE EXTENSION "uuid-ossp";
De aanhalingstekens zijn belangrijk.