Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id B1CEA476FD0 for ; Wed, 22 Jan 2003 12:35:46 -0500 (EST) Received: from pxdcms01.psynapsetech.net (unknown [208.246.69.99]) by postgresql.org (Postfix) with ESMTP id 468BA475E1E for ; Wed, 22 Jan 2003 12:11:58 -0500 (EST) Received: from psynapsetech.net ([208.246.69.118]) by pxdcms01.psynapsetech.net (8.11.6/8.11.6) with ESMTP id h0MGo1V23322; Wed, 22 Jan 2003 11:50:01 -0500 Message-ID: <3E2ED07A.6090703@psynapsetech.net> Date: Wed, 22 Jan 2003 12:10:18 -0500 From: john guthrie User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2.1) Gecko/20021130 X-Accept-Language: en-us, en MIME-Version: 1.0 To: john guthrie Cc: pgsql-interfaces@postgresql.org Subject: Re: problem with 'copy binary' file format References: <3E2DB3A2.7020503@psynapsetech.net> In-Reply-To: <3E2DB3A2.7020503@psynapsetech.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200301/91 X-Sequence-Number: 3591 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