Hay dos maneras de utilizar esta funcionalidad en PostgreSQL, la primera es crear una secuencia y la tabla, y la otra es asignarle directamente el tipo al campo de la tabla. En el ejemplo la tabla se llama "foo".
1.- Creando la secuencia y la tabla
CREATE SEQUENCE foo_id_seq;
CREATE TABLE foo (
id integer DEFAULT NEXTVAL('foo_id_seq')NOT NULL,
name character varying(8) NOT NULL
);
CREATE TABLE foo (
id integer DEFAULT NEXTVAL('foo_id_seq')NOT NULL,
name character varying(8) NOT NULL
);
2.- Creando la tabla con el tipo "serial" para el campo "id".
CREATE TABLE foo (
id serial,
name character varying(8) NOT NULL
);
id serial,
name character varying(8) NOT NULL
);
Interesante, ¿verdad?