いろいろ備忘録日記

主に .NET とか Go とか Python絡みのメモを公開しています。

PostgreSQLにてテーブルをTRUNCATEするクエリを出力するクエリ

概要

結構便利なので、ここに残しておきます。よく忘れるので。

開発時などで、たまにテーブルデータをガサーっと一気にクリアしたいときとかがあります。

そういうときに、テーブル仕様書とかを見ながら、削除するクエリを作っても全然問題ないのですが、めんどくさい・・・。

こういう作業は、コンピュータにやってもらったほうが楽です。なので、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にて、テーブル名とか列名とかを取得したい場合は、以下を参照ください。とてもとても前に書いた記事ですが。

devlights.hatenablog.com


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com