Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hujSv-0000zk-0t for pgsql-docs@arkaria.postgresql.org; Mon, 05 Aug 2019 20:20:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hujSt-00069U-Kq for pgsql-docs@arkaria.postgresql.org; Mon, 05 Aug 2019 20:20:19 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hujSt-00068f-AQ for pgsql-docs@lists.postgresql.org; Mon, 05 Aug 2019 20:20:19 +0000 Received: from xvm-110-146.dc2.ghst.net ([46.226.110.146] helo=fetter.org) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1hujSq-0001dI-SQ for pgsql-docs@lists.postgresql.org; Mon, 05 Aug 2019 20:20:18 +0000 Received: by fetter.org (Postfix, from userid 1001) id 060D740999; Mon, 5 Aug 2019 22:20:15 +0200 (CEST) Date: Mon, 5 Aug 2019 22:20:14 +0200 From: David Fetter To: pgsql-docs@lists.postgresql.org Subject: Re: Is it wise to include table inheritence in the tutorial? Message-ID: <20190805202014.GS31493@fetter.org> References: <156495686451.8638.382610819642178810@wrigleys.postgresql.org> <12462.1565014660@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <12462.1565014660@sss.pgh.pa.us> User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Mon, Aug 05, 2019 at 10:17:40AM -0400, Tom Lane wrote: > PG Doc comments form 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'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] 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 http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate