- - PR -
部分的pg_dumpバックアップと融合
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-12-12 16:43
postgresql7.4.8を使用してそこそこ大きめ(現在100カラム×20000行くらい)のデータベースを扱っています。
このデータベースをpg_dumpして別マシンの同一バージョンのPostgresqlに再現したいのですが、 その際制約があり、カラムのうちTimestamp型のデータを持っているある1つのカラムを基準として、リストアする側のデータベースに既に同一時刻のデータが入っている行に関してはリストアを行わない、という事を実現したいのです。 例えばPC1のtable1が以下のようなデータだったとします myTimeStamp|myColumn1 -----------+---------- 2005-12-12 16:30:00|ab123 2005-12-12 16:35:00|bc456 2005-12-12 16:40:00|cd789 そして、PC2のtable1のcolumn1が以下のようなデータであるとします。 myTimeStamp|myColumn1 -----------+---------- 2005-12-12 16:40:00|zy111 2005-12-12 16:45:00|yx222 2005-12-12 16:50:00|xw333 PC1のデータベースをダンプしてPC2に再現するに際して、myTimeStampがダブっている16:40:00のデータに関してはPC2に存在しているものを優先として、以下のような形を実現したいのです。 myTimeStamp|myColumn1 -----------+---------- 2005-12-12 16:30:00|ab123 2005-12-12 16:35:00|bc456 2005-12-12 16:40:00|zy111 2005-12-12 16:45:00|yx222 2005-12-12 16:50:00|xw333 SELECT文などを使えば楽に行えそうな処理ですが、データベースの運用上、できる限りpg_dumpで実現したいのです。一度pg_dumpで出力した後であれば、ある程度アクロバチックな処理になっても構いません。 キメラの作成のように珍妙な作業と思われるかもしれませんが、ご存知の方は宜しくお願いします。 | ||||
|
投稿日時: 2005-12-12 22:37
まずは、Postgres のドキュメント読みましょう。 http://www.postgresql.jp/document/index.php3 pg_dumpの出力結果とはいったいなんのなのか、がわかると思います。 それがわかれば自ずと自分がやりたい事をするにあたって必要な事がさらに 見えてくると思います。 がんばってください。 | ||||
|
投稿日時: 2005-12-21 11:09
返事が送れて申し訳ありません。
pg_dumpの出力結果を格納したファイルを、スクリプトで書き換えるという作業を挟む事で実現できました。 アドバイスありがとうございました。 |
1