Прямого способа удалить все сиквенсы из БД как такового нет, но есть один приём, позволяющий сделать это в вполне «автоматическом» режиме без необходимости дропать каждый сиквенс вручную.
Сначала составим список команд для сброса существующих сиквенсов с помощью следующего SQL-выражения:
1 |
SELECT 'drop sequence ' || c.relname || ';' FROM pg_class c WHERE (c.relkind = 'S'); |
Мы получим что-то вроде:
1 2 |
drop sequence address_seq; drop sequence person_seq; |
В принципе нет необходимости выполнять эти команды по одной. Достаточно выделить их все прям в консоли, скопировать (просто нажав правую кнопку мыши, например) а затем вставить в командную строку (тоже просто нажав правую кнопку мыши):
Обратите внимание, если выделить все строки с командами плюс первый символ следующей строки, то при вставке этого списка команд в консоль все они выполнятся, включая последнюю.
Конечно, такой способ подходит не для всех ситуаций. Но там, где он уместен, сиквенсы дропаются буквально за минуту, сколько бы их ни было.