On Tuesday, February, 2001-02-06 at 19:35:14, Tom Lane wrote:
> =?iso-8859-2?Q?Marek_P=EAtlicki?= <marpet@buy.pl> writes:
> > Hi, I have just received this crash on pg_dump:
> > PQgetvalue: ERROR! tuple number 0 is out of range 0..-1
> > Segmentation fault
>
> IIRC, this is the symptom of a known bug in pg_dump: in some places it
> does a SELECT and just blithely assumes that it will get a tuple back.
> If there's no matching tuple, kaboom! You've probably got something
> like a function with no owner in your database.
it turned out to be exactly what you suspect (bogus record in pg_proc, I
don't know the exact problem, but the log showed, that the crash happend
on:
SELECT proname from pg_proc where pg_proc.oid = '7397513'::oid
When I dropped the function everything went OK back again :-)
> To determine exactly what's going on, run pg_dump with PGOPTIONS=-d2, ie
> export PGOPTIONS="-d2"
> pg_dump ...
> and look at the postmaster's log file (you are keeping a log file I trust)
> to see what the last few queries are. This should let you track down
> where the missing reference is, and then you can delete the broken
> database item. If you need help interpreting the info, send along
> the last few queries...
yes, it helped me a lot! Thank you!
The problem was with my debug session with new trigger functions, which
refused to work and I played with them (dropping and correcting). That's
when I must have inserted the bogus function.
Thank you again for your help!
--
Marek Pętlicki <marpet@buy.pl>