Re: Duplicate key value violates unique constraint "pg_type_typname_nsp_index" error

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ed Sabol <edwardjsabol(at)gmail(dot)com>
Cc: Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: Duplicate key value violates unique constraint "pg_type_typname_nsp_index" error
Date: 2026-02-19 04:51:57
Message-ID: 2325374.1771476717@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Ed Sabol <edwardjsabol(at)gmail(dot)com> writes:
> Using PostgreSQL 15.16, I have some SQL for creating a materialized view that's inside a larger transaction which randomly emits the following error:
> ERROR: duplicate key value violates unique constraint "pg_type_typname_nsp_index"
> DETAIL: Key (typname, typnamespace)=(largetable, 20488) already exists.

Huh. Does it always mention 20488?

> I've tried the following queries to try to figure out what typnamespace = 20488 refers to:

> SELECT nspname FROM pg_namespace WHERE oid = 20488;
> SELECT count(*) FROM pg_catalog.pg_type WHERE typname = 'targetable' AND typnamespace = 20488;

> Neither query provides any useful information.

What do you mean by "any useful information", exactly? Do these show
that there is no pg_namespace row with oid = 20488?

If that is the case, I'd bet on index corruption in the indexes of
pg_type and/or pg_namespace. REINDEX might help.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Edward J. Sabol 2026-02-19 13:02:33 Re: Duplicate key value violates unique constraint "pg_type_typname_nsp_index" error
Previous Message Ed Sabol 2026-02-19 01:47:27 Duplicate key value violates unique constraint "pg_type_typname_nsp_index" error