> OIDs are a bastardization of the relational model. If you have to keep
> them, then do so, but their use should be SEVERELY discouraged.
Explain yourself, please.
In my opinion, I view the OID in the same way as I view the SERIAL datatype
in Informix. It is usually a primary key field in a table. On an insert,
the DBMS will increment the current serial-maximum (for that table) and insert
the new serial value into that field; thus creating a unique identifier.
There are differences between OID and SERIAL. The main difference is that
the OID field (always called 'oid') is always present whereas a DB designer
explicitly creates 'id' fields (of SERIAL type). Thus, postgresql treats
every table as an object (which is not always the case).
Is the SERIAL datatype part of the SQL-92 standard? Does PostgreSQL plan
to support SERIAL in the future. This would be an acceptable replacement
for the OID.
-Bryan Basham