ちゃんとカテゴリ分けされておりませんので、
記事をお探しならブログ内検索が便利です。
ご活用くださいませー+.(≧∀≦)゚+.゚
ブログ内検索
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
カテゴリー
最新コメント
[11/22 รูปพวงหรีดแสดงความเสียใจ]
[11/22 ดอกไม้ งานศพ]
[11/22 ช่อดอกไม้ตามสั่ง]
[11/22 ร้านดอกไม้บรรยากาศอบอุ่น]
[11/21 Robertret]
最新記事
(08/22)
(02/19)
(01/16)
(12/29)
(12/28)
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
先日ちゃんとテストもしないで公開したら、バグがひどかったので修正します。
先日のは非公開にしまーす。
PostgreSQLのpg_dumpを
なんてことはよくあります。
と、いうことで、あまり大きいファイルには向かないけど、ファイルを分割するスクリプトをPythonで書いてみました。
これでカレントディレクトリに分割されたファイルが出来上がるので
中身を確認しつつ、目的のテーブルのデータをダンプしてください。
INDEXとかは面倒だと思います。
そんな書き方はナンセンス!
なんてFBは随時受け付けますが、理解できないかもです(-_-;)
確認環境
Python2.7.3
PostgreSQL 9.3.3
先日のは非公開にしまーす。
PostgreSQLのpg_dumpを
pg_dump db_name > db_name.dmp見たく取得したはいいものの、実際にリストアするときに特定のテーブルだけ、リストアしたいねー
なんてことはよくあります。
と、いうことで、あまり大きいファイルには向かないけど、ファイルを分割するスクリプトをPythonで書いてみました。
python import os dump_file_path = './db_name.dmp' dump_path = os.path.dirname(dump_file_path) dump_file = os.path.basename(dump_file_path) ## define # 処理を止める行数(0で最後まで) break_point = 0 line_no = 0 file_no = 0 delimiter_flg = 0 prefix = u's' init_file = True log_file = '%s_log_%s' % (prefix, dump_file) # main # initialyze outputo file if init_file: old = filter(lambda x: x.startswith(prefix), os.listdir(dump_path)) for _file in old: os.unlink(os.path.join(dump_path, _file)) # splitting f = open(dump_file_path, 'rb') for line in f: line_no += 1 if line.strip() == '--': if delimiter_flg == 2: delimiter_flg = 1 file_no += 1 print '次のセクションに移動しました。 処理行数[%s], 処理セクション[%s]' % (line_no, file_no) else: delimiter_flg += 1 elif line.startswith('--'): open(log_file, 'ab').write('\t'.join([str(line_no), str(file_no), line])) open('%s%03d_%s' % (prefix, file_no, dump_file), 'ab').write(line) # print (file_no, delimiter_flg, line.strip()) if 0 < break_point < line_no: break f.close()
これでカレントディレクトリに分割されたファイルが出来上がるので
中身を確認しつつ、目的のテーブルのデータをダンプしてください。
INDEXとかは面倒だと思います。
そんな書き方はナンセンス!
なんてFBは随時受け付けますが、理解できないかもです(-_-;)
確認環境
Python2.7.3
PostgreSQL 9.3.3
PR
この記事にコメントする