Cree una clave primaria de incremento automático en postgresql, utilizando una secuencia personalizada:
Paso 1, crea tu secuencia:
create sequence splog_adfarm_seq
start 1
increment 1
NO MAXVALUE
CACHE 1;
ALTER TABLE fact_stock_data_detail_seq
OWNER TO pgadmin;
Paso 2, crea tu tabla
CREATE TABLE splog_adfarm
(
splog_key INT unique not null,
splog_value VARCHAR(100) not null
);
Paso 3, inserta en tu mesa
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!'
);
Paso 4, observa las filas
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)
Las dos filas tienen claves que comienzan en 1 y se incrementan en 1, según lo definido por la secuencia.
Bonificación Elite ProTip:
Los programadores odian escribir, y escribirlo nextval('splog_adfarm_seq')
es molesto. Puede escribir DEFAULT
para ese parámetro en su lugar, así:
insert into splog_adfarm values (
DEFAULT,
'Sufficient intelligence to outwit a thimble.'
);
Para que lo anterior funcione, debe definir un valor predeterminado para esa columna clave en la tabla splog_adfarm. Lo cual es más bonito.