Thread: pg_migrator and making columns invisible

pg_migrator and making columns invisible

From
Bruce Momjian
Date:
pg_migrator requies tables using tsvector data types to be rebuilt, and
there has been discussion of how to prevent people from accessing those
columns before they are rebuilt.  We discussed renaming the tables
(affects all columns) or columns, using rules (not fine-grained enough),
or using column permissions (doesn't affect super-users).

My new idea is to mark the column as "dropped" and unmark them before
rebuilding the table.  That might be the best I can do.  Comments?

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: pg_migrator and making columns invisible

From
Bruce Momjian
Date:
Bruce Momjian wrote:
> pg_migrator requies tables using tsvector data types to be rebuilt, and
> there has been discussion of how to prevent people from accessing those
> columns before they are rebuilt.  We discussed renaming the tables
> (affects all columns) or columns, using rules (not fine-grained enough),
> or using column permissions (doesn't affect super-users).
> 
> My new idea is to mark the column as "dropped" and unmark them before
> rebuilding the table.  That might be the best I can do.  Comments?

FYI, one big problem with this is that if they rebuild the table before
dropping the columns the data is lost.  It seems leaving the data around
as invalid might be safer.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: pg_migrator and making columns invisible

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> pg_migrator requies tables using tsvector data types to be rebuilt, and
> there has been discussion of how to prevent people from accessing those
> columns before they are rebuilt.  We discussed renaming the tables
> (affects all columns) or columns, using rules (not fine-grained enough),
> or using column permissions (doesn't affect super-users).

> My new idea is to mark the column as "dropped" and unmark them before
> rebuilding the table.  That might be the best I can do.  Comments?

You're expending a lot of work on solving the wrong problem.  The right
solution is a temporary data type.
        regards, tom lane


Re: pg_migrator and making columns invisible

From
Bruce Momjian
Date:
Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > pg_migrator requies tables using tsvector data types to be rebuilt, and
> > there has been discussion of how to prevent people from accessing those
> > columns before they are rebuilt.  We discussed renaming the tables
> > (affects all columns) or columns, using rules (not fine-grained enough),
> > or using column permissions (doesn't affect super-users).
> 
> > My new idea is to mark the column as "dropped" and unmark them before
> > rebuilding the table.  That might be the best I can do.  Comments?
> 
> You're expending a lot of work on solving the wrong problem.  The right
> solution is a temporary data type.

How do cleanup all references to the tsvector data type?  I am afraid
there will be tons of tsvector references outside tables that I can't
clean up.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +