Estoy tratando de crear una tabla de Postgres con el tipo de datos Bigserial como clave principal. Una vez que estoy creando la tabla, la definición de la tabla se cambia a bigint NOT NULL DEFAULT nextval('transactions.transaction_id_seq'::regclass), a esto. Por favor, hágame saber por qué sucede esto.
Gracias de antemano, Somnath
Como se indica en la documentación , las publicaciones seriadas no son tipos de datos "reales", sino envoltorios convenientes. Si crea una columna serial, obtiene automáticamente
Citar:
Los tipos de datos smallserial, serial y bigserial no son tipos verdaderos, sino simplemente una conveniencia notacional para crear columnas de identificador único (similar a la propiedad AUTO_INCREMENT admitida por algunas otras bases de datos).
CREATE TABLE table (BIGSERIAL id PRIMARY KEY);es lo mismo que
CREATE SEQUENCE table_id_seq; CREATE TABLE table ( id bigint NOT NULL DEFAULT nextval('table_id_seq') ); ALTER SEQUENCE table_id_seq OWNED BY table.id;Que coincide con lo que está recibiendo.