2020年10月19日(月) 20:22 Ashutosh Bapat <[email protected]>:
>
> On Sat, Oct 17, 2020 at 6:35 PM Ian Lawrence Barwick <[email protected]>
> wrote:
> >
> > [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
>
> This looks fine.
>
> > - 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)
>
> Mentioning casting to regclass is worthwhile but it's not performance
> efficient if there are many tableoids. In that case, joining with
> pg_class.oid is quite efficient.
True.
> That line further suggests using
> regnamespace which is not as efficient as joining with
> pg_namespace.oid. But pg_namespace won't have as many entries as
> pg_class so casting to regnamespace might be fine. Should we suggest
> both the methods somehow?
On further reflection, I think trying to explain all that is going to
end up as a
mini-tutorial which is beyond the scope of the explanation of a column, so
the existing reference to pg_class should be enough.
Revised patch attached just mentioning partitioned tables.
Regards
Ian Barwick
--
EnterpriseDB: https://www.enterprisedb.com
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index c4897d68c9..7b77e9ddfb 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1144,7 +1144,8 @@ 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