Search Postgresql Archives

Re: Dropping column from big table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2024-07-15 13:53:25 +0200, Laurenz Albe wrote:
> On Sun, 2024-07-14 at 00:05 +0200, Peter J. Holzer wrote:
> > On 2024-07-11 10:06:47 +0200, Laurenz Albe wrote:
> > > Dropping a column is fast, but doesn't reclaim the space.
> > > VACUUM won't block anything, but won't reclaim the space.
> > > VACUUM (FULL) will block everything, but will also not reclaim the space.
> > > 
> > > You'd need to use a form of ALTER TABLE that rewrites the table,
> > > as indicated in the documentation.
> > 
> > Unfortunately the documentation indicates very little. It mentions that
> > the table will be rewritten with
> > 
> > * SET ACCESS METHOD
> > * a volatile DEFAULT
> > * changing the type of an existing column (unless binary coercible)
> > 
> > All three change something which you probably don't want to change.
> 
> Hm, true.
> 
> You can always do
> 
>   UPDATE tab SET id = id;
> 
> followed by
> 
>   VACUUM (FULL) tab;

Yes, that should work. It needs about twice the size of the table in
temporary space, though.

Since the OP wrote that the table is "daily ... and 90 partitions"
(which understand that there is one partition per day and partitions are
kept for 90 days) it might be better to just wait. After 90 days all the
partitions with the obsolete column will be gone.

        hp

-- 
   _  | Peter J. Holzer    | Story must make more sense than reality.
|_|_) |                    |
| |   | hjp@xxxxxx         |    -- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |       challenge!"

Attachment: signature.asc
Description: PGP signature


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux