pipe text to copy statement stdin input - Mailing list pgsql-general

From Scott Frankel
Subject pipe text to copy statement stdin input
Date
Msg-id 767ACBF2-CA22-49FD-B9B8-BD8CF0DE48AC@circlesfx.com
Whole thread Raw
Responses Re: pipe text to copy statement stdin input  (John R Pierce <pierce@hogranch.com>)
Re: pipe text to copy statement stdin input  (Michael Glaesemann <grzm@seespotcode.net>)
List pgsql-general
Hi all,

Is there a way to pipe text into a COPY statement's stdin input using
cmd-line psql?

I'm using the following syntax to enter large strings of text into a
table.  The text itself has a json-like syntax that has the potential
for carrying numerous special characters.

    COPY mytable(name, description, text) FROM stdin;
    <the text>
    \.

Problem is that my terminal's copy-paste buffer is much smaller than
the text I need to insert.

Note:
- I do not have superuser perms for the db, so passing a file instead
of stdin is not an option.

- Ditto for using \i to import a file.

- The db is password protected, so invoking `psql` as a non-
interactive command may not be possible.  Right?

- If I'm wrong, anyone have example syntax of how to create a valid
COPY statement?  I've found an interesting OSX cmd-line util that
copies/pastes between Terminal and the "pasteboard."   Though I think
this just gets bitten by the file restriction anyway, eg:

    % cat bigfile.txt > pbcopy
    % psql DBNAME USERNAME (PASSWORD???) <<EOF
        COPY mytable(name, description, text) FROM stdin;
       pbpaste > stdin(???)
        \.



pqsl 8.3
OSX 10.5.8
Terminal

Suggestions greatly appreciated!

Thanks
Scott




pgsql-general by date:

Previous
From: Sylvain Rabot
Date:
Subject: Re: Partitioning and constraint exclusion
Next
From: Vincent Veyron
Date:
Subject: Re: Tuning for a tiny database