Thread: inherited type
View Single Post

   
  #2 (permalink)  
Old 04-08-2008, 08:22 PM
Tom Lane
 
Posts: n/a
Default Re: inherited type

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

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply With Quote