Re: ERROR: catalog is missing 3 attribute(s) for relid 150243

From: Julien Rouhaud <rjuju123(at)gmail(dot)com>
To: milist ujang <ujang(dot)milist(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ERROR: catalog is missing 3 attribute(s) for relid 150243
Date: 2022-08-19 04:02:34
Message-ID: 20220819040234.ossib2ixphaolhz2@jrouhaud
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)milist(at)gmail(dot)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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message milist ujang 2022-08-19 04:27:50 Re: ERROR: catalog is missing 3 attribute(s) for relid 150243
Previous Message Abdul Qoyyuum 2022-08-19 02:46:40 Re: Unable to Create or Drop Index Concurrently