[pgsql-jp: 41569] Re: バックアップ/リストア

mitani mitani @ sraw.co.jp
2014年 2月 13日 (木) 18:11:14 JST


三谷@広島です。

pg_dumpでも -a オプションをつければ、
COPY文のデータのみが取得できます。

ちなみに、--insertsオプションを付けると、
COPY文の代りにINSERT文になります。
リストアがCOPYより遅くなりますけど。

8.2はサポートが終わっているバージョンなので、
できれば新しいバージョンに移行した方が良いとは思いますが、
色々事情があるのでしょうね。

--

On Thu, 13 Feb 2014 17:52:54 +0900
花田 茂 <hanada @ metrosystems.co.jp> wrote:

> 花田です。
> 
> pg_dumpを離れられるならばですが、COPY FROM/TOを使えばデータ部分はバー
> ジョン依存のないフォーマット(CSV/テキスト)で移行できそうですね。
> 
> 移行先にテーブルを作成するためのDDLは8.4のpg_dumpを用いて pg_dump -s -t
> <テーブル名> で取得して必要に応じて修正を……。
> 
> # この時点であえて8.2系に移行する理由の方が気になっていたり(^^;
> 
> (2014/02/13 17:25), mitani wrote:
> > 三谷@広島です。
> > 
> > pg_dumpは基本的に同じバージョンの物を使うように、とのことですので、
> > 古いバージョンのpg_dumpでメジャーバージョンの違うサーバのダンプを取るのは
> > 難しいかもしれません。
> > 
> > テーブル1つであれば、サーバと同じバージョンのpg_dumpでスキーマとデータをダンプし、
> > それぞれをダウングレード先のserverと同じバージョンのpsqlコマンドでリストアできませんかね。
> > plane SQLなら取り込めるのではないでしょうか。
> > 
> > --
> > 
> > 
> > On Thu, 13 Feb 2014 16:53:08 +0900 (JST)
> > Kazumasa Gotoh <kgotoh @ cic-kk.co.jp> wrote:
> > 
> >>
> >> 後藤です。
> >>
> >> なるほど、そう言う手が… と思いました。
> >>
> >> ただ、PostgreSQL 8.4 のマニュアルを見ると、-i は廃止されたオプションで
> >> 無視される。と、ありました
> >>
> >> また、8.2 のマニュアルでは以下のように書かれているので、8.2 から 8.4 の
> >> ダンプがうまく取れるか、けっこう微妙な気がします。
> >>
> >> そのテーブルが 8.4 以降サポートされた機能を使っていたら当然ダメでしょうし…
> >>
> >> 質問者が「一度試してみる」のはアリかと思いますが、見かけ上うまくいった
> >> ように見えても実は… ということもありそうで、本当に全データがうまく
> >> 移行できたかの検証は、ちょっとやっかいかも知れません。
> >>
> >> --------------------------------------------------------------------------
> >> -i
> >> --ignore-version
> >>
> >>      pg_dumpとデータベースサーバのバージョンの不一致を無視します。
> >>
> >>      pg_dumpは、実行中の過去のリリースのPostgreSQLからダンプすることができ
> >>      ますが、(現時点では7.0より前の)非常に古いバージョンのデータベースは
> >>      サポートしていません。 使用するpg_dumpより新しいサーバからダンプする
> >>      ことはほとんどの場合できません。 バージョンチェックを無効にする必要が
> >>      ある場合には、このオプションを使います(この場合、pg_dumpが失敗しても、
> >>      警告がなかったとは言わないでください)。
> >> --------------------------------------------------------------------------
> >>
> >> From: Hiroki Kataoka <kataoka @ interwiz.jp>
> >> Date: Thu, 13 Feb 2014 16:20:38 +0900
> >>
> >>> 片岡です。
> >>>
> >>> PostgreSQLでは一般的に、リストア先のバージョンのpg_dumpでダンプを取るのが望ましいですので、まずは8.2のpg_dumpでダンプを取ってみたらどうでしょう?
> >>> そのままではバージョンの不一致でpg_dumpがエラーになりますが、確か -i
> >>> オプションを付ければバージョン不一致のエラーを無視してダンプを取ってくれたと思います。
> >>>
> >>>
> >>>
> >>> 2014年2月12日 17:52  <masaosa9592 @ zenrin.co.jp>:
> >>>> 佐野と申します。
> >>>> PostgreSQLのバックアップ/リストアについて質問があります。
> >>>>
> >>>> PostgreSQL 8.4.14 から PostgreSQL 8.2.14へ
> >>>> テーブル指定で、バックアップ/リストアを行いたいと考えていますが、可能でしょうか。
> >>>>
> >>>> PostgreSQL 8.4.14 のPgAdminで作成したバックアップファイルを
> >>>> PostgreSQL 8.2.14 のPgAdminでリストアのファイルとして指定しましたが、
> >>>> OKボタンが有効にならず、実行することができませんでした。
> >>>>
> >>>>
> >>>> 補足
> >>>>  バックアップ対象のテーブルは、6.6億レコード(220GB)ありますので、
> >>>>  可能であれば、バックアップ/リストア機能を利用したいと考えています。
> >>>>
> >>>>
> >>>> 以上、よろしくお願い致します。
> >>>>
> >>>
> >>>
> >>>
> >>> -- 
> >>> Hiroki Kataoka
> >>
> >> __________  ESET NOD32 Antivirus からの情報, ウイルス定義データベースのバージョン 9416 (20140212) __________
> >>
> >> このメッセージは ESET NOD32 Antivirus によって検査済みです。
> >>
> >> http://canon-its.jp
> >>
> >>
> >>
> > 
> > 
> 
> 
> -- 
> 株式会社メトロシステムズ
>   花田 茂
> Mail : hanada @ metrosystems.co.jp
>  Tel : 03-5951-1219
>  Fax : 03-5951-2929
> 
> __________  ESET NOD32 Antivirus からの情報, ウイルス定義データベースのバージョン 9416 (20140212) __________
> 
> このメッセージは ESET NOD32 Antivirus によって検査済みです。
> 
> http://canon-its.jp
> 
> 
> 


-- 
mitani <mitani @ sraw.co.jp>


pgsql-jp メーリングリストの案内