Esamina la documentazione postgresql del tipo di dati seriale. Serial è solo una mano breve.
CREATE TABLE tablename (
colname SERIAL
);
equivale a specificare:
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;