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




--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to