serial
je pseudo datový typ, nikoli skutečný datový typ. Je to integer
níže s některými dalšími automaticky spouštěnými příkazy DDL:
- Vytvořte sekvenci (ve výchozím nastavení se shodným názvem).
- Nastavte sloupec
NOT NULL
a výchozím nastavením pro kreslení z této sekvence. - Zajistěte, aby sloupec „vlastnil“ sekvenci.
Podrobnosti:
- Bezpečně a čistě přejmenovat tabulky, které používají sloupce sériového primárního klíče v Postgresu?
bigserial
je stejný, postavený kolem bigint
sloupec. Chcete bigint
, ale už jsi toho dosáhl. Transformace existujícího serial
sloupec do bigserial
(nebo smallserial
), vše, co musíte udělat, je ALTER
datový typ sloupce. Sekvence jsou obecně založeny na bigint
, takže stejnou sekvenci lze použít pro jakékoli integer
typ.
Chcete-li "změnit" bigint
do bigserial
nebo integer
do serial
, zbytek už musíte udělat ručně:
- Vytvoření sekvence PostgreSQL do pole (které není ID záznamu)
Skutečný datový typ je stále integer
/ bigint
. Někteří klienti jako pgAdmin zobrazí datový typ serial
v reverzním inženýrství CREATE TABLE
skript, pokud jsou všechna kritéria pro serial
jsou splněny.