Using SELECT inside a COPY transaction with PHP
I tried posting this to PHP-DB list, but no answers since yesterday. I'm
thinking it is not possible, but just trying to confirm. I am using
pg_exec($dbh, "COPY sometable FROM stdin USING DELIMITERS"). Once this
the connectino is made and this line has been issued, my script begins
analyzing each line of the CSV file and needs to do a SELECT statement
using some of the fields in the line to find other related data before
calling pg_end_copy($dbh), which syncs the data. Can another pg_exec
call be made for a SELECT statement before the COPY is over? My script
seems to hang at the point of the first SELECT.
--
Robert
Robert Fitzpatrick <robert@webtent.com> writes:
I tried posting this to PHP-DB list, but no answers since yesterday. I'm
thinking it is not possible, but just trying to confirm. I am using
pg_exec($dbh, "COPY sometable FROM stdin USING DELIMITERS"). Once this
the connectino is made and this line has been issued, my script begins
analyzing each line of the CSV file and needs to do a SELECT statement
using some of the fields in the line to find other related data before
calling pg_end_copy($dbh), which syncs the data. Can another pg_exec
call be made for a SELECT statement before the COPY is over? My script
seems to hang at the point of the first SELECT.
You'd have to open a second database connection to issue the SELECT on.
Your first one is tied up doing the COPY (the connection protocol is
not multi-threaded or anything like that).
regards, tom lane