Re: ALTER TABLE on system catalogs

Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>

From: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
To: peter.eisentraut@2ndquadrant.com
Cc: andres@anarazel.de, tgl@sss.pgh.pa.us, michael@paquier.xyz, pgsql-hackers@postgresql.org
Date: 2019-03-19T11:00:01Z
Lists: pgsql-hackers
Sorry overlooked this.

At Thu, 14 Feb 2019 16:35:45 +0100, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote in <84c6bcc4-026f-a44f-5726-e8035f4d197a@2ndquadrant.com>
> On 08/02/2019 04:04, Kyotaro HORIGUCHI wrote:
> > By the way, I'm confused to see that attributes that don't want
> > to go external are marked as 'x' in system catalogs. Currently
> > (putting aside its necessity) the following operation ends with
> > successful attaching a new TOAST relation, which we really don't
> > want.
> > 
> > ALTER TABLE pg_attribute ALTER COLUMN attrelid SET STORAGE plain;
> > 
> > Might be silly, but couldn't we have another storage class? Say,
> > Compression, which means try compress but don't go external.
> 
> That already exists: 'm': Value can be stored compressed inline

It works differently. 'm' doesn't prevent toast table from
creation, and 'c' does. But I agree that your patch fixes
that. My point was just seeming consistency in narrow area.

> I agree that it seems we should be using that for those tables that
> don't have a toast table.  Maybe the genbki stuff could do it
> automatically for the appropriate catalogs.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Ignore attempts to add TOAST table to shared or catalog tables