Risposte:
due opzioni: utilizzare il SERIAL "tipo di dati" o creare una sequenza e utilizzare questa sequenza come valore predefinito per il numero intero:
CREATE SEQUENCE your_seq;
CREATE TABLE foo(
id int default nextval('your_seq'::regclass),
other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
Se vuoi farlo in PGAdmin, è molto più facile che usare la riga di comando. Sembra che in PostgreSQL, per aggiungere un incremento automatico a una colonna, dobbiamo prima creare una sequenza di incremento automatico e aggiungerla alla colonna richiesta. Mi è piaciuto
1) Innanzitutto devi assicurarti che ci sia una chiave primaria per la tua tabella. Mantenere anche il tipo di dati della chiave primaria in bigint o smallint. (Ho usato bigint, non sono riuscito a trovare un tipo di dati chiamato seriale come menzionato in altre risposte altrove)
2) Quindi aggiungere una sequenza facendo clic con il tasto destro su sequenza-> aggiungi nuova sequenza . Se non ci sono dati nella tabella, lasciare la sequenza così com'è, non apportare alcuna modifica. Basta salvarlo. Se sono presenti dati esistenti, aggiungere l'ultimo o il valore più alto nella colonna chiave primaria al valore Corrente nella scheda Definizioni come mostrato di seguito.
3) Infine, aggiungi la riga nextval('your_sequence_name'::regclass)
al valore predefinito nella chiave primaria come mostrato di seguito.
Assicurati che il nome della sequenza sia corretto qui. Questo è tutto e l'incremento automatico dovrebbe funzionare.
SERIAL
?
GENERATED BY DEFAULT AS IDENTITY
introdotta con Postgres> = 10.