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