Is it wise to include table inheritence in the tutorial?

Started by PG Bug reporting formover 6 years ago3 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/11/tutorial-inheritance.html
Description:

Hello,

I was reading the tutorial here:
https://www.postgresql.org/docs/11/tutorial-inheritance.html

But on the "don't do this" Wiki, it is strongly advised not to use this:
https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_table_inheritance

It seems to me that there should at least be a warning, or the entire
section could possible be removed? The tutorial is intended for people new
to PostgreSQL and/or SQL, and introducing features with a large "don't use
this caveat" doesn't strike me as especially helpful?

Cheers,
Martin

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: Is it wise to include table inheritence in the tutorial?

PG Doc comments form <noreply@postgresql.org> writes:

I was reading the tutorial here:
https://www.postgresql.org/docs/11/tutorial-inheritance.html
But on the "don't do this" Wiki, it is strongly advised not to use this:
https://wiki.postgresql.org/wiki/Don&#39;t_Do_This#Don.27t_use_table_inheritance

That wiki entry is just some random person's opinion, it's not
project policy.

Having said that, the partitioning feature is approaching the
point of being mature enough to recommend to novices, so maybe
we should start thinking about adjusting the tutorial with that
in mind. I wouldn't necessarily remove the inheritance section;
it's talking about OOP-style inheritance, which you can't get
with partitioning.

regards, tom lane

#3David Fetter
david@fetter.org
In reply to: Tom Lane (#2)
Re: Is it wise to include table inheritence in the tutorial?

On Mon, Aug 05, 2019 at 10:17:40AM -0400, Tom Lane wrote:

PG Doc comments form <noreply@postgresql.org> writes:

I was reading the tutorial here:
https://www.postgresql.org/docs/11/tutorial-inheritance.html But
on the "don't do this" Wiki, it is strongly advised not to use
this:
https://wiki.postgresql.org/wiki/Don&#39;t_Do_This#Don.27t_use_table_inheritance

That wiki entry is just some random person's opinion, it's not
project policy.

It may not be project policy, but I have yet[1]Modulo misusing exactly one feature of it, combined with a large engineering effort, to simulate table partitioning -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778 to run into a use of it
that wouldn't be done better some other way.

Having said that, the partitioning feature is approaching the point
of being mature enough to recommend to novices, so maybe we should
start thinking about adjusting the tutorial with that in mind. I
wouldn't necessarily remove the inheritance section; it's talking
about OOP-style inheritance, which you can't get with partitioning.

Table inheritance was part of the ORDBMS experiment, which in turn was
marcom in the context of a time when OO was the new hotness, as were
New Wave, the Oprah Winfrey Show, and smoking bans on airplanes.

That experiment produced a decisive result, namely "don't."

Our tutorial should be rewritten in its entirety with emphasis on
cut'n'paste-ability, the examples being checked via 'make check' or
close friends.

Best,
David.

[1]: Modulo misusing exactly one feature of it, combined with a large engineering effort, to simulate table partitioning -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778
engineering effort, to simulate table partitioning
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate