下記の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実行すればよいです。
関連記事
コメントを残す