serial to pseudo typ danych, a nie rzeczywisty typ danych. Jest to integer poniżej z kilkoma dodatkowymi poleceniami DDL wykonywanymi automatycznie:
- Utwórz sekwencję (domyślnie z pasującą nazwą).
- Ustaw kolumnę
NOT NULLi domyślnie rysować z tej sekwencji. - Uczyń kolumnę „właścicielem” sekwencji.
Szczegóły:
- Bezpiecznie i czysto zmieniaj nazwy tabel używających kolumn szeregowych kluczy podstawowych w Postgresie?
bigserial jest taki sam, zbudowany wokół bigint kolumna. Chcesz bigint , ale już to osiągnąłeś. Aby przekształcić istniejący serial kolumna do bigserial (lub smallserial ), wystarczy ALTER typ danych kolumny. Sekwencje są generalnie oparte na bigint , więc ta sama sekwencja może być użyta dla każdej integer typ.
Aby „zmienić” bigint w bigserial lub integer w serial , resztę musisz zrobić ręcznie:
- Tworzenie sekwencji PostgreSQL w polu (które nie jest identyfikatorem rekordu)
Rzeczywisty typ danych to nadal integer / bigint . Niektórzy klienci, tacy jak pgAdmin, wyświetlają typ danych serial w inżynierii wstecznej CREATE TABLE skrypt, jeśli wszystkie kryteria dla serial są spełnione.