Postgresql veritabanına oldukça devasa bir dosya yüklüyorum. Bu ilk kullanımını yapmak için split
daha küçük dosyalar (30Gb her) almak için dosyada ve sonra kullanarak veritabanına her küçük bir dosya yüklemek GNU Parallel
ve psql copy
.
Sorun, dosyayı bölmenin yaklaşık 7 saat sürmesi ve çekirdek başına bir dosya yüklemeye başlamasıdır. İhtiyacım olan şey, bir split
dosya yazmayı bitirdiğinde her dosyaya std çıktısına dosya adını yazdırmayı söylemenin bir yoludur, böylece Parallel
onu borulandırabilir ve dosyaları split
yazmayı bitirdikten sonra yüklemeye başlar . Bunun gibi bir şey:
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
split
Adam sayfalarını okudum ve hiçbir şey bulamıyorum. Bunu split
veya başka bir araçla yapmanın bir yolu var mı ?