Re: DDL commands don't handle OID wrap

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: DDL commands don't handle OID wrap
Date: 2006-04-17 19:46:13
Message-ID: 4551.1145303173@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

"Jim C. Nasby" <jnasby(at)pervasive(dot)com> writes:
> Haven't seen this in previous discussions of OID wrap in the archives.
> The issue is that DDL statements don't make any attempt to skip past
> used ranges of OIDs.
> duplicate key violates unique constraint "pg_attrdef_oid_index"

If you can make that happen in 8.1, I'd be fascinated to look at the
test case.

2005-08-11 21:35 tgl

* doc/src/sgml/ddl.sgml, src/backend/access/heap/heapam.c,
src/backend/access/heap/tuptoaster.c,
src/backend/access/transam/varsup.c, src/backend/catalog/catalog.c,
src/backend/catalog/heap.c, src/backend/catalog/index.c,
src/backend/catalog/pg_type.c, src/backend/commands/dbcommands.c,
src/backend/commands/trigger.c, src/backend/commands/typecmds.c,
src/backend/storage/large_object/inv_api.c,
src/backend/utils/cache/relcache.c,
src/bin/pg_dump/pg_backup_archiver.c, src/bin/pg_dump/pg_dump.c,
src/include/access/transam.h, src/include/catalog/catalog.h,
src/include/catalog/pg_type.h, src/include/utils/rel.h,
src/include/utils/relcache.h: Solve the problem of OID collisions
by probing for duplicate OIDs whenever we generate a new OID. This
prevents occasional duplicate-OID errors that can otherwise occur
once the OID counter has wrapped around. Duplicate relfilenode
values are also checked for when creating new physical files. Per
my recent proposal.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Bruno Wolff III 2006-04-17 20:47:08 Re: downward dump compatibility
Previous Message Jim C. Nasby 2006-04-17 19:38:30 DDL commands don't handle OID wrap