ECPG and COPY TO STDOUT
От | Edmund Bacon |
---|---|
Тема | ECPG and COPY TO STDOUT |
Дата | |
Msg-id | 1080847364.13873.14.camel@elb_lx.onesystem.ca обсуждение исходный текст |
Ответы |
Re: ECPG and COPY TO STDOUT
|
Список | pgsql-interfaces |
If I use COPY TO STDOUT in an ECPG program, where does the output go? If I use COPY TO '/tmp/foo', I get the file created, with the data in it, but trying COPY TO STDOUT produces no output. What I'm trying to do is to dump a table's data, and have the resulting file owned by the application user rather than the dba user. I would rather to not have to create the file in /tmp, copy contents, rm /tmp file, if I don't have to. This is the program I'm using: #include <stdio.h> EXEC SQL INCLUDE sqlca; EXEC SQL WHENEVER SQLERROR sqlprint; int main() { EXEC SQL BEGIN DECLARE SECTION; char *fname = "/tmp/foo"; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT TO test; /* produces expected file "/tmp/foo" */ EXEC SQL COPY foo TO :fname WITH DELIMITER ','; printf("copy to /tmp/foo :sqlca.sqlcode = %ld", sqlca.sqlcode); /* goes nowhere (?) */ EXEC SQL COPY foo TO STDOUT WITH DELIMITER ','; printf("copy to STDOUT : sqlca.sqlcode = %ld\n",sqlca.sqlcode); EXEC SQL DISCONNECT; return 0; } -- Edmund Bacon <ebacon@onesystem.com>
В списке pgsql-interfaces по дате отправления: