On Tue, Mar 09, 2021 at 01:04:10PM +0530, Dilip Kumar wrote:
> On Tue, Mar 9, 2021 at 2:45 AM Robert Haas <robertmh...@gmail.com> wrote:
> >
> > On Mon, Mar 8, 2021 at 3:59 PM Justin Pryzby <pry...@telsasoft.com> wrote:
> > > > It would be nice to have a way to force
> > > > anything compressed with the old method to be re-compressed with the
> > > > new method, but not having that doesn't preclude allowing the
> > > > parameter to be changed.
> > >
> > > Doesn't vacuum full/cluster/dump+restore do that ?
> >
> > Well, dump and restore will do it, certainly, but I don't think VACUUM
> > FULL or CLUSTER will. I haven't tested it, though, so maybe I'm wrong.
> 
> Yeah, vacuum full or cluster will not re-compress the data.  How about
> providing syntax ALTER TABLE <tab-name> ALTER COLUMN <col_name> SET
> COMPRESSION <com_name> REWRITE?

It'd be strange to me if "rewrite" were associated with a column.

Depending on what data strucutures you use, you might accidentally fail to
rewrite the table if someone wrote something like:
postgres=# alter table t alter a set compression pglz REWRITE, alter a set 
compression pglz;

Although I hope that's something to support someday for columnar AMs, I think
table-rewriting now is done in entirety, and the syntax should reflect that.

-- 
Justin


Reply via email to