-PR-
締切済み

DBの全ユーザーテーブルに対するtruncate

  • すぐに回答を!
  • 質問No.9397423
  • 閲覧数36
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 1% (9/608)

PostgreSQLを勉強中の者です。
データベースの全ユーザーテーブルに対して、個別にtruncateをかけるいい方法を探しています。

 \pset pager
 \dt

以上のコマンドを実行して、テーブル一覧を表示できることをはわかったのですが、ここから先の妥当なやり方がわかりません。
リダイレクトして、テキストエディタで加工して、シェルのようなもので流し込む・・・のような形になるのでしょうか?

実例も含めて教えていただけると助かります。

また、truncateされたことの上手い確認方法もあれば御教示下さい。
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 19% (659/3326)

テーブル一覧が取り出せるならawkでなんとでもなりますよね。
table1
table2
table3

TRUNCATE table1;
TRUNCATE table2;
TRUNCATE table3;
としてテキストに書き出します。
で、実行なのですがこれでは新しく増えたテーブルも
自動で消してしまいますから
普通はTRUNCATEが書かれたテキストファイルに消したいテーブルを並べて
実行する形を取ります。

確認は
select count(*) で件数表示してすべて0であることを確認すればいいですね。
重複行(0,0,0,0,0,,,,)を消せば簡単に確認できますね。


このQ&Aで解決しましたか?
関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

ページ先頭へ