Re: Copy command not writing complete data to text file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 22, 2005 at 11:49:24AM -0500, Kevin Keith wrote:
> It is a CGI (shell) script that is calling a C program. I found the issue - 
> which was external to Postgres.

So what was it?  Even if it wasn't a PostgreSQL problem it might
be educational to learn what happened.

> 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?

PQexec() returns a PGresult *, not an int.  You can pass that PGresult *
to PQresultStatus() to find out the command's status; if the command
failed you can pass the PGresult * to PQresultErrorMessage() to get
a descriptive error message.  See the libpq documentation for more
information.

On success, COPY returns a result status of PGRES_COMMAND_OK; I'd
expect it to return something else if it failed.  For example, if
the disk is full then COPY fails with PGRES_FATAL_ERROR.  If you
have a case where COPY reports success but writes an incomplete
file then please post the code -- that way we can see if the bug
is in your code or in PostgreSQL.

-- 
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux