i am having a problem creating a 'copy binary' input file in c
on my linux box running postgresql 7.2.2. the error message i get is: ERROR: copy: line 1, pg_atoi: error in
"PGBCOPY":can't parse "PGBCOPY"
so it looks to me like the header doesn't match what it should. my
code creates/writes the header like this:
char *bchead = "PGBCOPY\n\377\r\n\0"; unsigned int bcsig = 0x01020304; unsigned int bcflags = 0x0;
unsignedint bcext = 0x0;
outFile = fopen(tmpfile, "w"); fwrite(bchead,1,12,outFile); fwrite(&bcsig,1,4,outFile);
fwrite(&bcflags,1,4,outFile); fwrite(&bcext,1,4,outFile);
when i 'od -c' the created file, i see:
local jguthrie> od -c /tmp/packets.bin
0000000 P G B C O P Y \n 377 \r \n \0 004 003 002 001
0000020 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 377 377
0000034
(this for a 4-field tuple with no rows in the data file).
this all seems to match up with the documentation online: http://www.postgresql.org/idocs/index.php?sql-copy.html
any help much appreciated.
thanks. john.