On Monday, February 27, 2012 1:23:22 pm James B. Byrne wrote:
> Obviously, I am missing something important here. The
> database in question is created thusly:
> 
> CREATE DATABASE test
>   WITH OWNER = devl
>        ENCODING = 'UTF8'
>        TABLESPACE = pg_default
>        LC_COLLATE = 'en_US.UTF-8'
>        LC_CTYPE = 'en_US.UTF-8'
>        CONNECTION LIMIT = -1;

When you run the above are you doing it as user dev1 or the postgres user?

> 
> 
> The manual says this:
> 
> Loading an extension requires the same privileges that
> would be required to create its component objects. For
> most extensions this means superuser or database owner
> privileges are needed. The user who runs CREATE EXTENSION
> becomes the owner of the extension for purposes of later
> privilege checks, as well as the owner of any objects
> created by the extension's script.
> 
> However, looking at the extension properties shows this:
> 
> -- Extension: plpgsql
> 
> -- DROP EXTENSION plpgsql;
> 
>  CREATE EXTENSION plpgsql
>   SCHEMA pg_catalog
>   VERSION "1.0";
> ALTER EXTENSION plpgsql
>   OWNER TO postgres;
> 
> So, why is the plpgsql extension in test owned by postgres
> and not by devl to begin with?

Is plpgsql in template1 and you are running the CREATE DATABASE script as 
postgres?  

-- 
Adrian Klaver
adrian.kla...@gmail.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to