| 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
| 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 |