Re: Copy command not writing complete data to text file

From: "Kevin Keith" <kevinrkeith(at)hotmail(dot)com>
To: mike(at)fuhr(dot)org
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Copy command not writing complete data to text file
Date: 2005-09-22 16:49:24
Message-ID: BAY108-F22058BC80EF93E11A0448FB9970@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

It is a CGI (shell) script that is calling a C program. I found the issue -
which was external to Postgres.

I still have one remaining question - if the COPY to FILE command fails,
does it return an error? If the program uses:
int i;
i = PQexec("copy from <<table_name>> to <<fully_qualified_file_name>>");

and the table has (for example) 500 records, but only 350 were copied to the
file, what is returned in i? Or is the only method to check that all the
data was exported correctly to wc -l the file and select count(*) to check
against what was supposed to be exported?

Thanks,

Kevin

>From: Michael Fuhr <mike(at)fuhr(dot)org>
>To: Kevin Keith <kevinrkeith(at)hotmail(dot)com>
>CC: pgsql-admin(at)postgresql(dot)org
>Subject: Re: [ADMIN] Copy command not writing complete data to text file
>Date: Thu, 22 Sep 2005 08:52:36 -0600
>
>On Thu, Sep 22, 2005 at 08:27:00AM -0500, Kevin Keith wrote:
> > The platform is Free BSD, Postgres version 7.4.5 and the program
>triggering
> > the COPY command is a CGI script.
>
>What language and API are you using? In the next paragraph you
>mention PQexec(), which implies C or C++ and libpq (some people
>argue that a C/C++ program isn't a "script," so that word could be
>misleading).
>
> > I am copying out to a text files using PQexec - there are no more than
>500
> > records in the tables being copied. What is happening, is one instance
>of
> > the COPY command is always stopping after dumping 16,384 bytes (16K) to
>the
> > text file - the last record is always truncated (i.e. the if the table
>has
> > 20 columns, the last record may only have 7 columns in the flat file).
> > There is also no error returned in the program - to the program calling
>the
> > copy command everything gives an appearance of working.
>
>Could you post the code that does the COPY and error checking?
>Better yet, a short but complete program that exhibits the problem.
>
> > What makes this problem difficult to resolve is that if I run the exact
> > same COPY command from the PSQL prompt, everything works with no
>problems.
>
>Does the CGI program behave differently if you run it from the
>command line instead of through the web server?
>
>--
>Michael Fuhr
>
>---------------------------(end of broadcast)---------------------------
>TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly

_________________________________________________________________
On the road to retirement? Check out MSN Life Events for advice on how to
get there! http://lifeevents.msn.com/category.aspx?cid=Retirement

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tomeh, Husam 2005-09-22 19:32:50 COPY command and skipping errors
Previous Message Hannes Dorbath 2005-09-22 15:57:54 Re: pg_restore fails