
pg_dumpall > [出力ファイル名]
で作成したバックアップからテーブル単位でリストアする方法はないのでしょうか?
pg_dumpallのマニュアルを読むと、リストアはpsqlで行うことになっていますが、psqlのマニュアルには
テーブル単位で取り出すオプションなどはないようです。
また:pg_dumpallで作成したファイルを:
pg_restore -l [入力ファイル名]
の入力ファイルにすると、"pg_restore: [archiver] input file does not appear to be a valid archive"
エラーが発生します。
webでも調べてみたのですが、該当するページが見あたりません。
お手数ですがご教授ください。
No.2ベストアンサー
- 回答日時:
> 通常のエディタで開くことはもちろん、手作業で行うことは気が遠くなってしまいます。
そういうことでしたら、思いつくのは下記の様な方法でしょうか。
a. pg_dumpall ではなく pg_dump を使ってダンプする
元のDBに接続でき、現在の状態のリストアでよいならば、この方法が簡単でしょう。
例) pg_dump -h localhost -p 5432 -U user_hoge -t table_hoge db_hoge > dump.txt;
http://www.postgresql.jp/document/9.2/html/app-p …
b. スクリプト言語を使って対象のテーブルの箇所を抽出する
perl や ruby などを使えば、対象部分を抽出するプログラムが割りと簡単に作れるかと思います。
c. サイズの大きいファイルも扱えるエディタを使って抽出する
例えば、 vim などではサイズが大きくてもさほど不自由なく編集はできたと思います。
検索機能で該当箇所への移動・選択を行い、新旧の2ファイルを開いてコピーすれば良いかと。
No.1
- 回答日時:
pg_dumpall で出力したダンプファイルをテキストエディタで開いてみれば分かりますが、通常のSQL文が並んでいるだけです。
したがって、リストアしたいテーブルのCREATE文やCOPY文をダンプファイルから抜き出した新たなファイルを作って psql に流し込めば、任意のテーブルだけリストアする事も出来るかと。
root139様、ご回答ありがとうございます。
おっしゃるとおりですが、但しバックアップファイルはおおよそ35Gb程度あり、おおよそ100テーブルが含まれます。
通常のエディタで開くことはもちろん、手作業で行うことは気が遠くなってしまいます。
そこで、ストリームエディタを使用するなど、ご経験のある方があればお聞かせいただきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(OS) DOSコマンド『dir』の『/o』オプション 3 2023/03/10 09:29
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLからSQLServerへの移行
-
pg_dumpでデータの引越し
-
ディスク上のサイズの乖離が大...
-
Windows版 pg_dumpの結果をログ...
-
Query OK, 0 rows affected
-
PostgreSQLについて教えてくだ...
-
pg_restoreでエラー
-
ACCESSのレコードを削除しても...
-
OSQLの起動について
-
createdbでいきなりつまづいて...
-
アクセスで、OLEサーバーも...
-
psql でのエラー出力について
-
VB上でのSQLローダ利用
-
tar.gzファイルのリストアについて
-
クラスタ破損は再セットアップ...
-
PostgreSQLの再インストールに...
-
ファイルに記述されている複数...
-
HTMLからのデータベース アクセス
-
date型に空白を入れるとエラー...
-
Oracle / UNIX ファイルコマン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LinuxからWindowsへのリストア...
-
pg_dumpの文字化け
-
テーブル単位のリストア
-
改行がはいったデータでエラー?
-
psqlでFATALエラー
-
pg_dumpでデータの引越し
-
ダンプリストア時のDBデータ...
-
pg_dumpの指定パラメータ
-
Postgres:LinuxからWinへのDB移行
-
PostgreSQLからSQLServerへの移行
-
pg_dumpallのやり方がわからな...
-
PostgreSQL6.5.3から8.2.3へラ...
-
pg_dumpallができない・・・
-
エラーが起こっているレコード...
-
ディスク上のサイズの乖離が大...
-
Windows上のPostgreSQLの完全削...
-
oracle spool SJIS → UTF-8
-
Windows版 pg_dumpの結果をログ...
-
新規作成したPostgresqlデータ...
-
Query OK, 0 rows affected
おすすめ情報