Re: Incomplete pg_dump operation - Mailing list pgsql-novice

From peter@vfemail.net
Subject Re: Incomplete pg_dump operation
Date
Msg-id 20100208070847.D5C2E634621@mail.postgresql.org
Whole thread Raw
In response to Re: Incomplete pg_dump operation  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Incomplete pg_dump operation  (peter@vfemail.net)
Re: Incomplete pg_dump operation  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice
The first execution of the:

     select * from pg_index where indexrelid = 2196359751;

command returned this message:

     WARNING:  terminating connection because of crash of another server process
     DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because
anotherserver process exited abnormally and possibly corrupted shared memory. 
     HINT:  In a moment you should be able to reconnect to the database and repeat your command.
server closed the connection unexpectedly
             This probably means the server terminated abnormally
             before or while processing the request.
     The connection to the server was lost. Attempting reset: Succeeded.

A second execution of this command returns a syntax error complaining about the semicolon.

A third execution of this command without the semicolon returns nothing.

After executing these three commands, I exited Postgresql and ran the pg_dump script.  The database backup process
terminatedwith these messages: 

     pg_dump: ERROR:  could not open relation with OID 2196359751
     pg_dump: SQL command to dump the contents of table "xyz" failed: PQendcopy() failed.
     pg_dump: Error message from server: ERROR:  could not open relation with OID 2196359751
     pg_dump: The command was: COPY public.xyz ({various field names}) TO stdout;

-------

At 01:19 AM 2/8/2010, Tom Lane wrote:
>peter@vfemail.net writes:
>> At 11:29 AM 2/7/2010, Tom Lane wrote:
>>> Do you get anything from "select * from pg_class where oid = 2196359751;" ?
>
>> Yes.  The:
>>      select * from pg_class where oid = 2196359751;
>> command returns [ nothing ]
>
>OK, well that explains why it can't open such a relation ;-).  The next
>question is why is it trying to.  My first guess is that there is a
>dangling link in pg_index, ie you once had an index with such an OID
>but something happened to it.  Please try
>
>        select * from pg_index where indexrelid = 2196359751;
>
>and if that gets a hit, then select the pg_class row with the OID
>shown as indrelid.
>
>                        regards, tom lane



pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: Novice PL/pgSQL question and example
Next
From: peter@vfemail.net
Date:
Subject: Re: Incomplete pg_dump operation