serial
- это тип данных псевдо , а не фактический тип данных. Это integer
внизу с некоторыми дополнительными командами DDL, выполняемыми автоматически:
NOT NULL
и по умолчанию для рисования из этой последовательности. Подробности:
A bigserial
тот же, построенный вокруг столбца bigint
. Вы хотите bigint
, но вы уже это достигли. Чтобы преобразовать существующий столбец serial
в bigserial
(или smallserial
), все, что вам нужно сделать, это ALTER
тип данных столбца. Последовательности обычно основаны на bigint
, поэтому одна и та же последовательность может использоваться для любого типа integer
.
Чтобы «изменить» bigint
на bigserial
или integer
на serial
, вам просто нужно сделать все остальное вручную:
Фактический тип данных по-прежнему integer
/ bigint
. Некоторые клиенты, такие как pgAdmin, будут отображать тип данных serial
в сценарии обратного проектирования CREATE TABLE
, если будут выполнены все критерии для serial
.