Devrim GUNDUZ <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html