Crie uma chave primária de incremento automático no postgresql, usando uma sequência personalizada:
Etapa 1, crie sua sequência:
create sequence splog_adfarm_seq
start 1
increment 1
NO MAXVALUE
CACHE 1;
ALTER TABLE fact_stock_data_detail_seq
OWNER TO pgadmin;
Etapa 2, crie sua tabela
CREATE TABLE splog_adfarm
(
splog_key INT unique not null,
splog_value VARCHAR(100) not null
);
Etapa 3, insira na sua tabela
insert into splog_adfarm values (
nextval('splog_adfarm_seq'),
'Is your family tree a directed acyclic graph?'
);
insert into splog_adfarm values (
nextval('splog_adfarm_seq'),
'Will the smart cookies catch the crumb? Find out now!'
);
Etapa 4, observe as linhas
el@defiant ~ $ psql -U pgadmin -d kurz_prod -c "select * from splog_adfarm"
splog_key | splog_value
----------+--------------------------------------------------------------------
1 | Is your family tree a directed acyclic graph?
2 | Will the smart cookies catch the crumb? Find out now!
(3 rows)
As duas linhas têm chaves que começam em 1 e são incrementadas por 1, conforme definido pela sequência.
Bônus Elite ProTip:
Os programadores odeiam digitar, e digitar o nextval('splog_adfarm_seq')
é irritante. Você pode digitar DEFAULT
para esse parâmetro, assim:
insert into splog_adfarm values (
DEFAULT,
'Sufficient intelligence to outwit a thimble.'
);
Para que o trabalho acima funcione, é necessário definir um valor padrão para essa coluna-chave na tabela splog_adfarm. O que é mais bonito.