To change the owner of a database we have found this solution:

http://archives.postgresql.org/pgsql-admin/2003-07/msg00301.php

    * From: Tom Lane    * To: Devrim GUNDUZ    * Subject: Re: changing ownership of db    * Date: Tue, 29 Jul 2003 17:41:08 -0400Devrim GUNDUZ  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 DATABASErecords 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 ownershipof the system tables to a non-superuser.  Ownership of those tablesstays with the postgres user during a CREATE DATABASE.\t\t\tregards, tom lane