Postgres にインポートしようとしている約 10,000 個の csv ファイルがあります。csv ファイルのサイズは、それぞれ約 500MB から 1GB の範囲です。最初に各ファイルをデータ フレームとして R にインポートします。これは、生データに対して少し前処理を行う必要があるためです (いくつかの行を除外し、いくつかの列を追加するなど)。次に、dbWriteTable を使用してデータを postgres に書き込みます。
status = try(dbWriteTable(con, name = "my_table", value = my.df, row.names = FALSE, append = TRUE,overwrite= FALSE))
同じ R スクリプトで、いくつかの基本データ (ファイルのインデックス) を他のテーブルに書き込んでいます
qry = paste0("insert into file_list (file_name) values ('",filename,"')")
dbSendQuery(con,qry)
通常、R スクリプトは正常に実行されますが、次のメッセージが表示されて頻繁に停止します。
Error in postgresqlExecStatement(conn, statement, ...): RS-DBI driver:
(could not run statement: server closed the connection unexpectedly\n\tThis
probably means the server terminated abnormally\n\tbefore or while
processing the request.\n)\n
そしてめったにこれも
Error in postgresqlCopyInDataframe(new.con, value) : RS-DBI driver:
(PQputCopyData failed: server closed the connection unexpectedly
This probably means the server terminated abnormally before or while
processing the request.)
Error in postgresqlNewConnection(drv, ...) : RS-DBI driver: (could not
connect my_db@my_address on dbname "mydb") Error in
!dbPreExists : invalid argument type
これらのメッセージの原因と回避方法がわかりません。これは、サーバーとの接続が失われたためか、ファイルが大きすぎるためですか。どんな助けでも大歓迎です。
R 3.3.1 (64 ビット)、Windows 7 (64 ビット、8GB RAM)、および Postgres 9.2 を使用しています。
ありがとう。