Czy możesz skopiować ramkę danych do pliku tekstowego rozdzielanego tabulatorami lub csv, a następnie załadować go do PostgreSQL za pomocą polecenia COPY FROM [1]? To implementuje podejście ładowania masowego, które może działać szybciej.
W niektórych przypadkach może być możliwe użycie RScript do wyemitowania danych jako strumienia i potokowania ich bezpośrednio do psql:
<RScript output tab delmited rows> | psql -c "COPY <tablename> (columnlist, ...) FROM STDIN WITH (FORMAT text)"
W niektórych długotrwałych przypadkach umieszczam | pv | w środku, aby śledzić postępy (http://www.ivarch.com/programs/pv. shtml ).
[1] http://www.postgresql.org/docs/ bieżący/interaktywny/sql-copy.html