締切済み

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

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

お礼率 1% (9/622)

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

 \pset pager
 \dt

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

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

また、truncateされたことの上手い確認方法もあれば御教示下さい。
よろしくお願いします。

回答 (全1件)

  • 回答No.1

ベストアンサー率 19% (807/4163)

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

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

確認は
select count(*) で件数表示してすべて0であることを確認すればいいですね。
重複行(0,0,0,0,0,,,,)を消せば簡単に確認できますね。
Be MORE 7・12 OK-チップでイイコトはじまる
AIエージェント「あい」

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

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

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

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

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ