Zajrzyj do dokumentacji postgresql datatype serial. Serial to tylko skrót.
CREATE TABLE tablename (
colname SERIAL
);
jest równoważne określeniu:
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;