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