moron alert - i forgot the 'binary' in the sql i sent to postgresql,
i.e. i used: copy my_table from 'somefile.bin';
instead of: copy binary my_table from 'somefile.bin';
only took me a whole day to find this. sheesh!
john
john guthrie wrote:
> 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;
> unsigned int 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.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org