-PR-
回答 受付中

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

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

お礼率 1% (9/607)

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

 \pset pager
 \dt

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

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

また、truncateされたことの上手い確認方法もあれば御教示下さい。
よろしくお願いします。
通報する
  • 回答数1

回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 19% (621/3121)

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

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

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


  • 回答数1
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

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

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

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ