As noted in the documentation, serials are not "real" data types, but rather convenience wrappers. If you create a serial column, you automatically get
- a new sequence ('tablename_columnname_seq`)
- an integer column of the appropriate type that takes its default value from the sequence.
- the setup for the column to use the sequence.
To quote:
The data types smallserial, serial and bigserial are not true types, but merely a notational convenience for creating unique identifier columns (similar to the AUTO_INCREMENT property supported by some other databases).
CREATE TABLE table (BIGSERIAL id PRIMARY KEY);
is the same as
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;
Which matches what you are getting.