serial
ve výchozím nastavení vytáhne pouze další číslo ze sekvence . Pokud do něj zapíšete hodnotu, výchozí nastavení se neprojeví. Můžete pouze COPY
ke stolu (viz odpověď @Saravanan
) a poté příslušnou sekvenci aktualizujte. Jedna způsob, jak to udělat:
SELECT setval('tbl_tbl_id_seq', max(tbl_id)) FROM tbl;
tbl_id
je sériový sloupec tabulky tbl
, čerpající ze sekvence tbl_tbl_id_seq
(výchozí název).
Nejlépe v jediné transakci v případě souběžného zatížení.
Všimněte si, že zde není žádná chyba off-by-1. Podle dokumentace:
Odvážný důraz můj.