Re: ERROR: catalog is missing 3 attribute(s) for relid 150243 - Mailing list pgsql-general

From Julien Rouhaud
Subject Re: ERROR: catalog is missing 3 attribute(s) for relid 150243
Date
Msg-id 20220819040234.ossib2ixphaolhz2@jrouhaud
Whole thread Raw
In response to Re: ERROR: catalog is missing 3 attribute(s) for relid 150243  (milist ujang <ujang.milist@gmail.com>)
Responses Re: ERROR: catalog is missing 3 attribute(s) for relid 150243
List pgsql-general
Hi,

Please don't top-post on this list (and please trim quoted messages too).

On Fri, Aug 19, 2022 at 05:55:03AM +0700, milist ujang wrote:
> On Thu, Aug 18, 2022 at 5:33 PM milist ujang <ujang.milist@gmail.com> wrote:
> >
> > 3rd query ERROR same as subject (ERROR:  catalog is missing 3 attribute(s)
> > for relid 150243)
>
> my version is 12.9 on x86_64.
>
> reading source code, got the message form RelationBuildTupleDesc() function:
>
> /*
>       * end the scan and close the attribute relation
>       */
>      systable_endscan(pg_attribute_scan);
>      table_close(pg_attribute_desc, AccessShareLock);
>
>      if (need != 0)
>          elog(ERROR, "pg_attribute catalog is missing %d attribute(s) for
> relation OID %u",
>               need, RelationGetRelid(relation));
>
> I'm not sure whether this function will compare the mentioned relation
> attribute in pg_attribute and physical table (header) file?

No, this function is comparing pg_class.relnatts to rows fetched querying
pg_attribute for the given relation.

What it means is that you likely have data corruption.  You could try to
reindex pg_attribute and see if that fixes that specific problems, but even if
it does you will have to investigate how data got corrupted, fix that root
problem, and then try to check for other corrupted data or restore from a sane
backup.



pgsql-general by date:

Previous
From: Abdul Qoyyuum
Date:
Subject: Re: Unable to Create or Drop Index Concurrently
Next
From: milist ujang
Date:
Subject: Re: ERROR: catalog is missing 3 attribute(s) for relid 150243