Thread: Modifying table ownership

Modifying table ownership

From
"Paul Laub"
Date:
Dear all,

When altering table ownership with

    ALTER TABLE table OWNER TO new owner

is there any way to have PostgreSQL 7.1.3 (the version I use) recursively
change
ownership of all indexes, triggers, and metadata related to or implicitly
created by
the renamed table? If not, then what is the solution? What I do now is (1) drop
indexes, (2) rename the table to table_old, (3) create a new table with desired
owner, (4) insert into table select * from table_old, and finally (5) drop
table table_old.
There has got to be an easier way.

Paul

Paul B. Laub      http://astatine.incyte.com/laub      (650) 845-5411 (voice)
Incyte Genomics, Inc.   3160 Porter Dr.  Palo Alto, CA 94304 plaub@incyte.com
                       *** Incite genomics! ***


Attachment

Re: Modifying table ownership

From
Bruce Momjian
Date:
> Dear all,
>
> When altering table ownership with
>
>     ALTER TABLE table OWNER TO new owner
>
> is there any way to have PostgreSQL 7.1.3 (the version I use) recursively
> change
> ownership of all indexes, triggers, and metadata related to or implicitly
> created by
> the renamed table? If not, then what is the solution? What I do now is (1) drop
> indexes, (2) rename the table to table_old, (3) create a new table with desired
> owner, (4) insert into table select * from table_old, and finally (5) drop
> table table_old.
> There has got to be an easier way.

You can update pg_class directly to change ownership for those indexes.

Added to TODO:

        o Have ALTER TABLE OWNER change all dependant objects like indexes

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026