Re: inherited type - Mailing list pgsql-general

From Tom Lane
Subject Re: inherited type
Date
Msg-id 6596.1112369404@sss.pgh.pa.us
Whole thread Raw
In response to inherited type  (Miguel Angel Tribaldos Hervas <mitriher@teleco.upv.es>)
List pgsql-general
Miguel Angel Tribaldos Hervas <mitriher@teleco.upv.es> writes:
> I am working with inheritance in postgresql 7.4. If I create a table named A,
> and another named B that inherits from A, if I perform a query such a
> "SELECT * FROM A" (without ONLY clause),
> how can I get the type (identifier from pg_type) of the returned records??

I think what you are after is the "tableoid" system column.  Try
    SELECT tableoid, * FROM A;
or more readably
    SELECT tableoid::regclass, * FROM A;
or you can do the above "by hand"
    SELECT p.relname, A.* FROM A, pg_class p WHERE p.oid = a.tableoid;

If you really want the composite type IDs then it's
    SELECT p.reltype, A.* FROM A, pg_class p WHERE p.oid = a.tableoid;

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: PL/PERL with composite return values & PGSQL 7.4?
Next
From: Michael Fuhr
Date:
Subject: Re: inherited type