Re: changing ownership of db - Mailing list pgsql-admin

From Tom Lane
Subject Re: changing ownership of db
Date
Msg-id 4647.1059514868@sss.pgh.pa.us
Whole thread Raw
In response to Re: changing ownership of db  (Devrim GUNDUZ <devrim@gunduz.org>)
List pgsql-admin
Devrim GUNDUZ <devrim@gunduz.org> writes:
> On Tue, 29 Jul 2003, Benjamin Thelen (CCGIS) wrote:
>> I would like to change the ownership of a database.

> UPDATE pg_database SET datdba=(SELECT usesysid FROM pg_shadow WHERE
> usename='new_owner') WHERE datname='db_name';

That is all you need to do --- it's the only place CREATE DATABASE
records the owner's identity.

> If you also want to change the owner of the tables, update pg_class:

> UPDATE pg_class SET relowner=(SELECT usesysid FROM pg_shadow WHERE
> usename='new_owner')  WHERE relname IN (SELECT relname from
> pg_class WHERE relname NOT LIKE 'pg_%');

This is likely to be a very bad idea, especially if you give ownership
of the system tables to a non-superuser.  Ownership of those tables
stays with the postgres user during a CREATE DATABASE.

            regards, tom lane

pgsql-admin by date:

Previous
From: Ragnar Kjørstad
Date:
Subject: Re: Replication/Failover/HA solution
Next
From: Tom Lane
Date:
Subject: Re: 7.3.4 and OpenSSl