概要
結構便利なので、ここに残しておきます。よく忘れるので。
開発時などで、たまにテーブルデータをガサーっと一気にクリアしたいときとかがあります。
そういうときに、テーブル仕様書とかを見ながら、削除するクエリを作っても全然問題ないのですが、めんどくさい・・・。
こういう作業は、コンピュータにやってもらったほうが楽です。なので、PostgreSQLさん自身にクエリつくってもらいましょう。
SELECT 'TRUNCATE TABLE ' || ARRAY_TO_STRING(ARRAY_AGG(relname), ',') || ';' AS query FROM pg_stat_user_tables;
このクエリを実行すると、例えば A と B と Cってテーブルを持っているユーザだとすると
TRUNCATE TABLE A,B,C;
って出力が得られます。
あとは、これを実行してやればオケ。
PostgreSQLにて、テーブル名とか列名とかを取得したい場合は、以下を参照ください。とてもとても前に書いた記事ですが。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場