From: | Martijn van Oosterhout <kleptog(at)svana(dot)org> |
---|---|
To: | Adrian von Bidder <avbidder(at)fortytwo(dot)ch> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: DROP column: documentation unclear |
Date: | 2010-03-08 21:35:49 |
Message-ID: | 20100308213549.GB660@svana.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, Mar 08, 2010 at 05:09:14PM +0100, Adrian von Bidder wrote:
> Hi,
>
> The documentation about DROP COLUMN is a bit unclear:
>
> | 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.
>
> "subsequent ... will store a null value" would imply that deleted columns
> will still take some place, while "the space will be reclaimed ..." would
> suggest that new rows (insert or updates in mvcc) don't have the deleted
> column anymore - I'm not quite sure how to interpret this. What is pg
> doing?
What you're missing is that in postgres NULLs are stored as a bit in
the header and there is no data. So in a sense NULLs take no space
(well, one bit) which means both statements are true.
Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while
> boarding. Thank you for flying nlogn airlines.
From | Date | Subject | |
---|---|---|---|
Next Message | Sam Carleton | 2010-03-08 21:58:24 | Re: managing tablespaces like files? |
Previous Message | John R Pierce | 2010-03-08 21:07:35 | Re: managing tablespaces like files? |