下記のSQLで、すべてのシーケンスを1にリセットするSQLを生成することができます。
SELECT 'SELECT setval(''' || c.relname || '', 1, false);'
FROM PG_CLASS AS c
LEFT JOIN PG_USER AS u ON c.relowner = u.usesysid
WHERE c.relkind = 'S'
ORDER BY c.relname; |
出力結果がSQL文になっているので、コピーして実行すればリセットできます。
特定のシーケンスだけ取得したい場合は、WHEREを工夫するか、クリアしたいテーブルだけSQL実行すればよいです。
関連記事
コメントを残す