PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgresql zmienia typ kolumny z int na UUID

Nie możesz po prostu rzucić int4 na uuid; byłby to nieprawidłowy identyfikator uuid, z ustawionymi tylko 32 bitami, przy czym wysokie 96 bitów to zero.

Jeśli chcesz wygenerować nowe identyfikatory UUID, aby całkowicie zastąpić liczby całkowite, i jeśli nie ma istniejących odwołań do kluczy obcych do tych liczb całkowitych, możesz użyć fałszywego rzutowania, które faktycznie generuje nowe wartości.

Nie uruchamiaj tego bez tworzenia kopii zapasowej danych. Trwale odrzuca stare wartości w colA .

ALTER TABLE tableA ALTER COLUMN colA SET DATA TYPE UUID USING (uuid_generate_v4());

Lepszym podejściem jest zwykle dodanie kolumnę uuid, a następnie popraw odniesienia do kluczy obcych, aby wskazywały na nią, i na koniec usuń oryginalną kolumnę.

Musisz mieć zainstalowany moduł UUID:

CREATE EXTENSION "uuid-ossp";

Cytaty są ważne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W Postgresql wymusza unikalność kombinacji dwóch kolumn

  2. Postgres:konwertuj jeden wiersz na wiele wierszy (unpivot)

  3. Pandy aktualizacja sql

  4. Użyć adresu e-mail jako klucza podstawowego?

  5. Jaki jest najlepszy framework wysokiej dostępności PostgreSQL? PAF vs. repmgr vs. Patroni Infografika