Re: Load a csv to remote postgresql database

From: John R Pierce <pierce(at)hogranch(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Load a csv to remote postgresql database
Date: 2017-03-02 06:34:49
Message-ID: c942bbfc-d316-df9e-c974-efb79def2a56@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 3/1/2017 10:01 PM, priyanka raghav wrote:
> I am trying to load a csv file of approx 500mb to remote postgres
> database. Earlier when the app server and db server were co-located,
> COPY command was working fine but ever since the db server is moved to
> a different box, the command is failing. I understand that COPY
> command searches the file on database server which it is not able to
> find and hence is throwing an error. I cannot use /COPY as it is a
> psql command. What options do I have to go about this. I need an
> urgent answer to this. Thanks in advance.

I recommend trying pgloader ... http://pgloader.io/

but if you have to do it inside a program, without shelling out to
another program, then you'll have to figure out how to use the streaming
interface in your chose database API, along with COPY tablename FROM
STDIN [WITH options...]; (note that does not actually mean its
reading from STDIN) this what psql uses for \COPY, you then read the
local CSV file and send it to the appropriate streaming interface, for
instance if you're using libpq, you'd use...

https://www.postgresql.org/docs/current/static/libpq-copy.html#LIBPQ-COPY-SEND

--
john r pierce, recycling bits in santa cruz

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Johann Spies 2017-03-02 08:27:52 column "waiting" does not exist
Previous Message Pavel Stehule 2017-03-02 06:08:06 Re: Load a csv to remote postgresql database