[doc] improve tableoid description

Hi

Attached patch aims to improve the description of the tableoid system column [1]
by:

- mentioning it's useful for determining table names for partitioned tables as
  well as for those in inheritance hierarchies
- mentioning the possibility of casting tableoid to regclass (which is simpler
  than the currently suggested join on pg_class, which is only needed if
  the schema name is absolutely required)

[1] https://www.postgresql.org/docs/current/ddl-system-columns.html


Regards

Ian Barwick


-- 
EnterpriseDB: https://www.enterprisedb.com
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index c4897d68c9..f916f0bd70 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1144,12 +1144,18 @@ CREATE TABLE circles (
 
      <para>
       The OID of the table containing this row.  This column is
-      particularly handy for queries that select from inheritance
+      particularly handy for queries that select from partitioned
+      tables (see <xref linkend="ddl-partitioning"/>) or inheritance
       hierarchies (see <xref linkend="ddl-inherit"/>), since without it,
       it's difficult to tell which individual table a row came from.  The
-      <structfield>tableoid</structfield> can be joined against the
+      <structfield>tableoid</structfield> can be cast to <type>regclass</type>
+      to obtain the table name.  However the table's schema will only be shown
+      if the table is <emphasis>not</emphasis> in the default path, otherwise
+      <structfield>tableoid</structfield> will need to be joined against the
       <structfield>oid</structfield> column of
-      <structname>pg_class</structname> to obtain the table name.
+      <link linkend="catalog-pg-class"><structname>pg_class</structname></link>
+      to obtain the <structfield>relnamespace</structfield> OID (which itself
+      can be cast to <type>regnamespace</type> to obtain the schema name).
      </para>
     </listitem>
    </varlistentry>

Reply via email to