Skip site navigation (1) Skip section navigation (2)

Re: pg_dump 'die_on_errors'

From: Philip Warner <pjw(at)rhyme(dot)com(dot)au>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>,PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>,pgsql-patches(at)postgresql(dot)org
Subject: Re: pg_dump 'die_on_errors'
Date: 2004-08-16 01:10:18
Message-ID: 6.1.1.1.0.20040816100607.04c2ea70@203.8.195.10 (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
At 01:32 AM 16/08/2004, Tom Lane wrote:
>It'd be substantially *more* helpful if it reported the failing command.

They are two different problems; the TOC entry is important for any 
multiline command  or to rerun the command easily later.

Whereas displaying the failed SQL command is a matter of fixing the error 
messages.

The latter is complicated by failed COPY commands which, with die-on-errors 
off, results in the data being processed as a command, so dumping the 
command will dump all of the data.

In the case of long commands, should the whole command be dumped? eg. (eg. 
several pages of function definition).

In the case of the COPY command, I'm not sure what to do. Obviously, it 
would be best to avoid sending the data, but the data and command are 
combined (from memory). Also, the 'data' may be in the form of INSERT 
statements.

Attached patch produces the first 125 chars of the command:

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC Entry 26; 1255 16449270 FUNCTION 
plpgsql_call_handler() pjw
pg_restore: [archiver (db)] could not execute query: ERROR:  function 
"plpgsql_call_handler" already exists with same argument types
     Command was: CREATE FUNCTION plpgsql_call_handler() RETURNS 
language_handler
     AS '/var/lib/pgsql-8.0b1/lib/plpgsql', 'plpgsql_call_han...
pg_restore: [archiver (db)] Error from TOC Entry 27; 1255 16449271 FUNCTION 
plpgsql_validator(oid) pjw
pg_restore: [archiver (db)] could not execute query: ERROR:  function 
"plpgsql_validator" already exists with same argument types
     Command was: CREATE FUNCTION plpgsql_validator(oid) RETURNS void
     AS '/var/lib/pgsql-8.0b1/lib/plpgsql', 'plpgsql_validator'
     LANGU...





----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 03 5330 3172          |                 ___________ |
Http://www.rhyme.com.au          |                /           \|
                                  |    --________--
PGP key available upon request,  |  /
and from pgp.mit.edu:11371       |/ 

Attachment: pg_dump_040815-1.patch.gz
Description: application/octet-stream (1.9 KB)

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2004-08-16 01:36:03
Subject: Re: Postgresql.conf Documentation change
Previous:From: Gaetano MendolaDate: 2004-08-15 23:06:08
Subject: Re: will PITR in 8.0 be usable for "hot spare"/"log

pgsql-patches by date

Next:From: Bruce MomjianDate: 2004-08-16 01:26:20
Subject: Re: Win32 fix for pg_dumpall
Previous:From: Bruce MomjianDate: 2004-08-16 01:08:04
Subject: Re: CREATE DATABASE with tablespace fix

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group