При переносе данных из таблицы в таблицу или при переводе таблицы в секционированную из обычной, возникает потребность в изменении последнего созданного значения для новой последовательности (SEQUENCE) если она участвовала в генерации целочисленных идентификаторов первичных ключей.
alter sequence a.mytable_new_seq restart with 500228059;
После этого можно будет увидеть сделанные изменения
select * from a.mytable_new_seq;
В таблице будет три столбца и три значения:
- last_value
- log_cnt
- is_called
Нас будет интересовать то значение, которое находится в поле «last_value«. Для целочисленных ключей с автоинкрементом оно скорее всего будет равно максимальному значению идентификатора в таблице, с которой работает данная последовательность (если последние записи не удалялись из таблицы).
Если нам нужно продолжать добавлять записи, то лучше увеличить последнее значение на единицу, чтобы небыло конфликтов вставки.
Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Официальный сайт клиента DBeaver для СУБД PostgreSQL — https://dbeaver.io
Команда ALTER SEQUENCE — https://postgrespro.ru/docs/postgresql/15/sql-altersequence