serial
kolumna rysuje tylko następną liczbę z sekwencji domyślnie . Jeśli wpiszesz do niego wartość, domyślna nie zostanie uruchomiona. Możesz po prostu COPY
do stołu (patrz odpowiedź @Saravanan
), a następnie odpowiednio zaktualizuj sekwencję. Jeden sposób, aby to zrobić:
SELECT setval('tbl_tbl_id_seq', max(tbl_id)) FROM tbl;
tbl_id
będąca kolumną szeregową tabeli tbl
, czerpiąc z sekwencji tbl_tbl_id_seq
(nazwa domyślna).
Najlepsza w pojedynczej transakcji w przypadku jednoczesnego obciążenia.
Uwaga, nie ma tutaj błędu off-by-1. Według dokumentacji:
Pogrubiony nacisk na moje.