PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Auto-incrémentation dans liquibase

Au lieu d'utiliser bigserial qui est un bigint auto-incrémenté spécifique à postgres, utilisez bigint si vous allez configurer votre propre incrément et séquence." Les types de données smallserial, serial et bigserial ne sont pas de vrais types, mais simplement une commodité de notation pour créer des colonnes d'identifiant (similaire à la propriété AUTO_INCREMENT prise en charge par d'autres bases de données). Dans l'implémentation actuelle, en spécifiant : "

CREATE TABLE tablename (
    colname SERIAL
);

est le même que

CREATE SEQUENCE tablename_colname_seq AS integer;
CREATE TABLE tablename (
    colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;

D'ici

https://www.postgresql.org/docs/12/datatype-numeric .html