[pgsql-jp: 35499] 巨大なテーブルの移行
K.Tomita
tomita @ gnavi.co.jp
2005年 6月 15日 (水) 14:01:03 JST
いつも参考にさせていただいています。
冨田と申します。
現在importのテストで莫大な時間がかかっており
何とか時間を短縮したいと悪戦苦闘しています。
何かしらのヒントでも構いませんので
いただけたら幸いです。
目的
巨大なテーブルを別のPostgreSQLに移動したい。
(可能であればPostgreSQLのバージョンをあげたい。)
環境
PostgreSQL 7.3.4
OS FreeBSD 4.8-RELEASE
(import先の現在のテスト環境)
(移行元と同環境、PostgreSQLのバージョンをあげることも検討中。)
状況
元環境からテーブル単位でDumpファイルを
取得しました。
問題はそもそもこのテーブルのタプルが1億5千万行ほどある点です。
最大の問題点であることは重々承知なのですが
現状必要なデータであるため欠損すること無しに移行を
考えています。
当初、このDumpファイルを別のPostgreSQLにそのままimportしようとした所
そのままでは途中で落ちてしまいました。
ファイルサイズの問題もあるかと思い、splitコマンドで
1千万行ずつにファイルを分けfor文でimportを廻す方法に改めました。
この方法でプロセスが落ちることはなくなったのですが
1千万行毎のimport終了の時間がだんだん長くなっており
10ファイル目で1千万行終了するのに24時間程かかっています。
(最初の1千万行は2時間で終了しました。)
現在実働中のシステムである為、長時間の停止は不可なので
どうにか早く終了する方法を考えています。
何かしらのアドバイス等ありましたら何でも構いませんので
お伝えいただけると幸いです。
よろしくお願いします。
--
pgsql-jp メーリングリストの案内