Re: Dropping column from big table

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: sud <suds1434(at)gmail(dot)com>
Cc: "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>, "Peter J(dot) Holzer" <hjp-pgsql(at)hjp(dot)at>
Subject: Re: Dropping column from big table
Date: 2024-07-16 04:52:41
Message-ID: CAKFQuwZL8jWOX35fSRsMp2tjfGpqsnUgG=cCKuVBen5PC8Jddg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Monday, July 15, 2024, sud <suds1434(at)gmail(dot)com> wrote:

>
> However even with "vacuum full", the old rows will be removed completely
> from the storage , but the new rows will always be there with the 'dropped'
> column still existing under the hood along with the table storage, with
> just carrying "null" values in it. […] Is this understanding correct?
>

No. The table rewrite process involves creating new tuples that exactly
conform to the current row specification. The potentially non-null data
present in live tuples for columns that have been dropped are not copied
into the newly constructed tuples.

https://github.com/postgres/postgres/blob/d2b74882cab84b9f4fdce0f2f32e892ba9164f5c/src/backend/access/heap/heapam_handler.c#L2499

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2024-07-16 04:56:23 Re: Dropping column from big table
Previous Message sud 2024-07-16 04:26:16 Re: Dropping column from big table