Önerileri sonra user30184 , Paul Ramsey ve kendi deneyleri. Bu soruya cevap vermeye karar verdim.
Bu soruda, uzak bir sunucuya veri aktardığımı söyleyemedim. (bahsettiğim blog yayınında açıklanmış olmasına rağmen). İnternet üzerinden kesici uçlar gibi işlemler ağ gecikmesine tabidir. Belki de bu sunucunun Amazon RDS'de olduğunu ve makineye ssh almamı ve yerel olarak işlemleri çalıştırmamı önlemek önemli değildir.
Bunu göz önünde bulundurarak, yeni bir tabloya veri dökümü teşvik etmek için "\ copy" yönergesini kullanarak yaklaşımımı yeniden tasarladım. Bu stratejinin, bu sorunun yorumlarına / cevaplarına da atıfta bulunan önemli bir anahtar olduğunu düşünüyorum.
psql database -U user -h host.eu-west-1.rds.amazonaws.com -c "\copy newt_table from 'data.csv' with DELIMITER ','"
Bu operasyon inanılmaz derecede hızlıydı. Ben bir csv ithal beri, daha sonra geometri doldurma, uzamsal bir dizin, vb ekleyerek tüm çalışmaları vardı. O zaman hala oldukça hızlı, çünkü daha sonra sunucuda sorgular çalıştırıyordu .
Ben de kıyaslama gelen önerilerle karar user30184 , Paul Ramsey . Veri dosyam 3035369 kayıt ve 82 MB olan bir nokta şekil dosyasıydı.
Ogr2ogr yaklaşımı (PG_USE_COPY yönergesini kullanarak) 1:03:00 m'de sona erdi, ki bu hala * eskisinden çok daha iyi.
Shp2pgsql yaklaşımı (-D yönergesini kullanarak) yalnızca 00:01:04 m'de tamamlandı.
Shp2pgsql işlem yapmadığı halde ogr2ogr'un işlem sırasında uzamsal bir dizin oluşturduğunu söylemeye değer. Ben dizin oluşturmak için çok daha verimli olduğunu öğrenmek sonra ithalat yapıyor ziyade şişkinlik istek bu tür ithalat işlemini.
Sonuç şudur: shp2pgsql, düzgün bir şekilde parametrelendirildiğinde, büyük miktarda ithalat, yani Amazon Web Servisleri'nde barındırılacaklar için son derece uygundur .
Bu yayının güncellenmesiyle, bu sonuçların daha ayrıntılı bir açıklamasını okuyabilirsiniz .