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

花田 茂 hanada @ metrosystems.co.jp
2014年 2月 13日 (木) 17:52:54 JST


花田です。

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


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