Re: Re: [SQL] maximum number of rows in table - what about oid limits? - Mailing list pgsql-general

From Tim Barnard
Subject Re: Re: [SQL] maximum number of rows in table - what about oid limits?
Date
Msg-id 003b01c0ef63$aa67bd20$a519af3f@hartcomm.com
Whole thread Raw
In response to Re: [SQL] maximum number of rows in table - what about oid limits?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Re: [SQL] maximum number of rows in table - what about oid limits?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
<snip>
If it does happen, you can just retry the failed object-creation
command until you get a nonconflicting OID assignment.
<snip>

Tom, or anyone who'd know for that matter, what is the
exact error I would need to look for?

Tim

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: <john@august.com>
Cc: "Stephan Szabo" <sszabo@megazone23.bigpanda.com>;
<pgsql-general@postgresql.org>; <pgsql-sql@postgresql.org>
Sent: Wednesday, June 06, 2001 3:37 PM
Subject: [GENERAL] Re: [SQL] maximum number of rows in table - what about
oid limits?


> John Scott <jmscott@yahoo.com> writes:
> > my question is, since oid's are used by the
> > postgres kernel, what effect does oid wrapping have upon
> > the stability of the database.
>
> It doesn't affect stability, if by that you mean potential crashes.
>
> What can happen after a wrap is that the OID generated for a
> newly-created object might conflict with some already-existing object's
> OID.  If that happens, you get a duplicate-key-insertion error on the
> OID index of the relevant system catalog (pg_class, pg_type, etc).
> There is a unique index on OID for each system catalog wherein OID
> is used to identify objects.  It doesn't really matter whether the
> same OID is reused in different catalogs or in user tables.
>
> The odds of this happening seem pretty low, if you've got reasonable
> numbers of objects (eg, with a couple thousand tables in a database,
> you'd have a 2000/4G = 1 in 2 million chance of collision on pg_class
> OID).  If it does happen, you can just retry the failed object-creation
> command until you get a nonconflicting OID assignment.
>
> This is certainly not ideal, but it's not nearly as big a problem as
> transaction ID wraparound.  You can live with it, whereas right now
> xact ID wraparound is catastrophic.  That we gotta work on, soon.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>


pgsql-general by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: USE_AUSTRALIAN_RULES breaks regression tests in 7.1.2?
Next
From: zilch@home.se
Date:
Subject: inserting, index and no index - speed