how to use COPY within plperl

Started by Marek Lewczukover 21 years ago3 messagesgeneral
Jump to latest
#1Marek Lewczuk
newsy@lewczuk.com

Hello,
I need to use COPY (instead of INSERT) within plperl function. I know
that COPY will work if data will be taken from file - however I need to
use STDIN. I tried this:
spi_exec_query("COPY sometable (field1, field2) FROM
stdin;"."\n"."sometext"."\t"."sometext"."\n"."\.")

But it didn't work. Thanks in advance.

#2Goutam Paruchuri
gparuchuri@oneil.com
In reply to: Marek Lewczuk (#1)
Re: how to use COPY within plperl

Why can you not use simple insert statements (sql insert).
Copy is meant to transfer large amount of data from text files to
databases and vice versa.

- Goutam

-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Marek Lewczuk
Sent: Monday, November 08, 2004 3:59 AM
To: Lista dyskusyjna pgsql-general; Lista dyskusyjna pgsql-sql
Subject: [GENERAL] how to use COPY within plperl

Hello,
I need to use COPY (instead of INSERT) within plperl
function. I know that COPY will work if data will be taken
from file - however I need to use STDIN. I tried this:
spi_exec_query("COPY sometable (field1, field2) FROM
stdin;"."\n"."sometext"."\t"."sometext"."\n"."\.")

But it didn't work. Thanks in advance.

---------------------------(end of
broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index
scan if your
joining column's datatypes do not match

Confidentiality Notice
The information contained in this e-mail is confidential and intended for use only by the person(s) or organization listed in the address. If you have received this communication in error, please contact the sender at O'Neil & Associates, Inc., immediately. Any copying, dissemination, or distribution of this communication, other than by the intended recipient, is strictly prohibited.

#3Marek Lewczuk
newsy@lewczuk.com
In reply to: Goutam Paruchuri (#2)
Re: how to use COPY within plperl

Goutam Paruchuri wrote:

Why can you not use simple insert statements (sql insert).
Copy is meant to transfer large amount of data from text files to
databases and vice versa.

"Insert" is much slower if there are many (hundreds, thousands) data to
be inserted - and in my case there will be thousands of inserts made by
plperl. I can make a file with the data (and load using COPY), but it
would be better to use copy from stdin.

Thanks

ML