Re: Determine potential change in table size after a column dropped? - Mailing list pgsql-admin

From Ron
Subject Re: Determine potential change in table size after a column dropped?
Date
Msg-id c9297bfb-409b-d1b9-9aba-e3c3491068e5@gmail.com
Whole thread Raw
In response to Re: Determine potential change in table size after a column dropped?  (Vijaykumar Jain <vijaykumarjain.github@gmail.com>)
Responses Re: Determine potential change in table size after a column dropped?  (Wells Oliver <wells.oliver@gmail.com>)
List pgsql-admin
On 1/22/22 1:43 AM, Vijaykumar Jain wrote:


On Sat, Jan 22, 2022, 12:47 PM Wells Oliver <wells.oliver@gmail.com> wrote:
I have a large large large table with many many many rows, and it's a certain size in pg_relation_size -- there's a timestamp with tz column on this table that's mostly kind of useless, and I want to figure out how much space it would free if we just dropped it. Can I easily do this?


The DROP COLUMN form does not physically remove the column, but simply makes it invisible to SQL operations. Subsequent insert and update operations in the table will store a null value for the column. Thus, dropping a column is quick but it will not immediately reduce the on-disk size of your table, as the space occupied by the dropped column is not reclaimed. The space will be reclaimed over time as existing rows are updated.

To force immediate reclamation of space occupied by a dropped column, you can execute one of the forms of ALTER TABLE that performs a rewrite of the whole table. This results in reconstructing each row with the dropped column replaced by a null value.

What about VACUUM FULL?

--
Angular momentum makes the world go 'round.

pgsql-admin by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Gauging progress of COPY?
Next
From: Greg Spiegelberg
Date:
Subject: Re: Gauging progress of COPY?