Mihail Nasedkin wrote:
Hello, Michael.

Thank you for answer January, 20  2005, 21:48:30:

MF> On Thu, Jan 20, 2005 at 03:45:58PM +0500, Mihail Nasedkin wrote:


How (where) I can get all OID's of the PostgeSQL
installation?
In other words where OID's is stored? Is it stored in special table?


MF> See the "System Columns" section in the "Data Definition" chapter
MF> of the PostgreSQL documentation.  Tables that store objects with
MF> OIDs should have an oid column; you could query pg_attribute to
MF> find out what tables those are.
I have already read about "System Columns" of the PostgreSQL documentation.
In the table "pg_catalog.pg_attribute" column "attrelid" contain
only "system OID's" but not OID's from records of the user tables.

But I would like to use OID's of all records of the all my tables.
                                 ^^^                ^^^
I try to use rules on INSERT action of my tables to store last insert
oid, but at the moment of the INSERT row into table OID value
inaccessible (unknown).

You are aware that OIDs aren't guaranteed to be unique, aren't you?

I would like use some SQL queries with the all OID's.


MF> To what end?  Are you aware that PostgreSQL allows tables to be
MF> created without OIDs?
Yes, of course, but in my case I create tables with OID and then want use
OID of all records of the all tables as one column in some query.

I think what system of OID's is very useful for application!

MF> What problem are you trying to solve?
For example, I want to fetching all rows of the several tables in one
query by means of LEFT JOIN, but not use UNION operator.

Joins are designed to be over primary keys, you should make sure you have valid pkeys defined and use those instead.


--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to