Thread: Change owner for all tables in a database in one batch

Change owner for all tables in a database in one batch

From
Alexander Farber
Date:
Hello,

by accident I have wrong owner for all tables in my 8.4.13 database:

bukvy=> select * from pg_tables where tableowner = 'skat';
 schemaname |             tablename              | tableowner |
tablespace | hasindexes | hasrules | hastriggers
------------+------------------------------------+------------+------------+------------+----------+-------------
 public     | drupal_actions                     | skat       |
    | t          | f        | f
 public     | drupal_batch                       | skat       |
    | t          | f        | f
 public     | drupal_authmap                     | skat       |
    | t          | f        | f
....
 public     | drupal_watchdog                    | skat       |
    | t          | f        | f
(83 rows)

But they actually should have the user "bukvy" as the owner.

Is there maybe a one-liner for changing the ownership in 1 batch
or should I execute "alter table .... set owner to bukvy" one by one?

Thank you
Alex


Re: Change owner for all tables in a database in one batch

From
Alvaro Herrera
Date:
Alexander Farber escribió:

> Is there maybe a one-liner for changing the ownership in 1 batch
> or should I execute "alter table .... set owner to bukvy" one by one?

The command REASSIGN OWNED changes ownership of all objects owned by a
certain role.  There's no way to restrict it to just tables, though.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services