Thread: OIDS and its limitations

OIDS and its limitations

From
Amir Khawaja
Date:
Hi Everyone,

I have a rather trivial (I hope) question about OID types and
PostgreSQL. Since PostgreSQL creates tables "WITH OIDS" by default, I'm
wondering if it is bad practice to allow the default behaviour. For
example, if I have a database with 60+ tables (all tables have their own
PK that is not of type OID) and all of them have an OID field created by
PostgreSQL by default, will this be problematic in the long run? For
example, if I have 30 tables with records greater than 500,000, will
PostgreSQL choke?

Thank you in advance for any information you can provide!


--
Amir Khawaja.

----------------------------------
Rules are written for those who lack the ability to truly reason, But
for those who can, the rules become nothing more than guidelines, And
live their lives governed not by rules but by reason.
      - James McGuigan

Re: OIDS and its limitations

From
Martijn van Oosterhout
Date:
The OIDs won't hurt except take a little disk space. The only thing is that
if they overflow you run a very small chance one of your DDL statements amy
fail.

This feature has only just become optional and everything worked fine before then.

Hope this helps,

On Fri, Jan 09, 2004 at 04:52:04PM -0800, Amir Khawaja wrote:
> Hi Everyone,
>
> I have a rather trivial (I hope) question about OID types and
> PostgreSQL. Since PostgreSQL creates tables "WITH OIDS" by default, I'm
> wondering if it is bad practice to allow the default behaviour. For
> example, if I have a database with 60+ tables (all tables have their own
> PK that is not of type OID) and all of them have an OID field created by
> PostgreSQL by default, will this be problematic in the long run? For
> example, if I have 30 tables with records greater than 500,000, will
> PostgreSQL choke?
>
> Thank you in advance for any information you can provide!
>
>
> --
> Amir Khawaja.
>
> ----------------------------------
> Rules are written for those who lack the ability to truly reason, But
> for those who can, the rules become nothing more than guidelines, And
> live their lives governed not by rules but by reason.
>      - James McGuigan
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faqs/FAQ.html

--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> (... have gone from d-i being barely usable even by its developers
> anywhere, to being about 20% done. Sweet. And the last 80% usually takes
> 20% of the time, too, right?) -- Anthony Towns, debian-devel-announce

Attachment

Re: OIDS and its limitations

From
Sai Hertz And Control Systems
Date:
Hi Amir Khawaja ,

> I have a rather trivial (I hope) question about OID types and
> PostgreSQL. Since PostgreSQL creates tables "WITH OIDS" by default,
> I'm wondering if it is bad practice to allow the default behaviour.
> For example, if I have a database with 60+ tables (all tables have
> their own PK that is not of type OID) and all of them have an OID
> field created by PostgreSQL by default, will this be problematic in
> the long run? For example, if I have 30 tables with records greater
> than 500,000, will PostgreSQL choke?

I have done this in one of  my project which was using OID'S (i.e tables
were created with OIDS nothing more) thus data inserted into the table
of a database  generated new OID's and it was from this list I came to
know that one of the guys table have exausted all the OIDS and to get
around this problem he had to drop recreate the database and again
populate the tables.
 From this point onwards I decided to create Tables WITHOUT OIDS and yes
my aplication is running fine.
This was with PostgreSQL 7.3.x and 7.4.x could not tell about the older one.

Even the documentation (Read Chapter 8 of  SQL language-> data type )
Says  "So, using a user-created table's OID column as a primary key is
discouraged. OIDs are best used only for references to system tables. "


Hope this helps

Regards
Vishal Kashyap