-- 전체 시퀀스 목록 --> 현재 값 ( currval = 마지막 값 last_value ) 찾기
WITH seq_list AS (
SELECT ns.nspname AS seq_schema
, cl.relname AS seq_name
, coalesce(pg_sequence_last_value(cl.oid), 0) AS seq_last_value
FROM pg_class AS cl JOIN pg_namespace ns ON cl.relnamespace = ns.oid
WHERE cl.relkind = 'S'
AND ns.nspname NOT IN ('hint_plan')
ORDER BY 1,2 DESC
)
-- 시퀀스 값 설정 쿼리 만들기
SELECT concat('SELECT setval(''', seq_schema, '.', seq_name, ''', ', seq_last_value, ');') ASis ,
concat('SELECT setval(''', seq_schema, '.', seq_name, ''', ', 1, ');') tobe
FROM seq_list
WHERE seq_last_value > 0
;