Auto increment no postgre?

boa tarde galera… existe alguma forma de fazermos um auto increment no postgre?

se fosse no MySql seria

create table usuario { idusuario integer NOT NULL auto_increment, nome text NOT NULL }

e no postgre?

abraços…

Bom dia,
no postgres o tipo auto increment é o serial.

o postgreSQL trabalha com sequence, igual ao Oracle…

Referencia:
http://pgdocptbr.sourceforge.net/pg80/datatype.html#DATATYPE-SERIAL

"8.1.4. Tipos seriais

Os tipos de dado serial e bigserial não são tipos verdadeiros, mas
meramente uma notação conveniente para definir colunas identificadoras
únicas (semelhante à propriedade AUTO_INCREMENTO existente em alguns
outros bancos de dados). Na implementação corrente especificar

CREATE TABLE nome_da_tabela (
nome_da_coluna SERIAL
);

equivale a especificar:

CREATE SEQUENCE nome_da_tabela_nome_da_coluna_seq;
CREATE TABLE nome_da_tabela (
nome_da_coluna integer DEFAULT
nextval(‘nome_da_tabela_nome_da_coluna_seq’) NOT NULL
);
"

espero ter ajudado…

funciono 100% :grin:

mais e a minha tabela que ja esta pronta (mais sem dados dentro) eu vo te que refaze ela?
nao tem um jeito de modifica-la?

se sua tabela não tem dados, dropa ela e cria de novo…eh sempre a forma mais garantida, não esquece de referenciar a PK pra usar a sequence…

Para alterar tu vai ter que fazer um comando ALTER TABLE .

Se não tiver informação na tabela você pode dar um
DROP TABLE e depois cria ela de novo.

Na documentação tem exemplo destes comandos.

t+

como nao tinha dados… peguei e deletei :grin:
valeu! e obrigado pela ajuda!