Seit PostgreSQL 8.0 ist es möglich, den Datentypen einer Spalte nachträglich zu verändern. Dazu kann das Schlüsselwort TYPE in Kombination mit ALTER COLUMN verwendet werden:
test=# ALTER TABLE t_password ALTER COLUMN uid TYPE numeric(8, 2); ALTER TABLE
Eine int4-Spalte auf numeric zu transformieren ist nicht sonderlich schwierig - wollen Sie aber Typkonvertierungen durchführen, die nicht so einfach zu bewerkstelligen sind, müssen Sie noch eine Konvertierungsfunktion angeben. Diese Konvertierungsregeln sind beliebig definierbar und ermöglichen es dem Programmierer, exakt zu definieren, wie die Transformation abzulaufen hat. Sie können somit mit Hilfe einer entsprechenden Konvertierungsfunktion jede beliebige Typumwandlung durchführen.
Das macht vor allem dann Sinn, wenn Sie Fremddaten einfach als Text importieren und dann schrittweise in die endgültige Struktur überführen.