Thread: pg_dump, pg_dumpall and createdb privilege

pg_dump, pg_dumpall and createdb privilege

From
Thomas Swan
Date:
Using pg_dump  and pg_dumpall I ran into the following problems and had 
addressed it earlier to this list with no response.

Using PostgreSQL 7.2.x

1. create a user with createdb privilege.
2. create a database as that user (allowing that user full reign over 
that particular db)
3. drop the createdb from the user.
4. pg_dumpall the databases to a single file
5. either use pg_restore or psql < infile to restore the databases and 
it fails.

The problem is that the user does not have createdb privilege and 
therefore the system cannot create a database with that particular user 
as the owner.

Is it possible to address this before the 7.3 release or is this concern 
no longer a problem in the 7.3 branch?





Re: pg_dump, pg_dumpall and createdb privilege

From
Neil Conway
Date:
Thomas Swan <tswan@idigx.com> writes:
> 1. create a user with createdb privilege.
> 2. create a database as that user (allowing that user full reign over
> that particular db)
> 3. drop the createdb from the user.
> 4. pg_dumpall the databases to a single file
> 5. either use pg_restore or psql < infile to restore the databases and
> it fails.

This is a known problem, I remember raising it on hackers several
months ago.

> Is it possible to address this before the 7.3 release or is this
> concern no longer a problem in the 7.3 branch?

It's fixed in CVS. Databases are now created using CREATE DATABASE xxx
WITH OWNER yyy: this technique can also be used by the DBA in the
first place, avoiding the need to manually add and then remove
CREATEDB privs from the new user account.

Cheers,

Neil

-- 
Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC



Re: pg_dump, pg_dumpall and createdb privilege

From
Thomas Swan
Date:
Neil Conway wrote:<br /><blockquote cite="mid87d6se1vj7.fsf@mailbox.samurai.com" type="cite"><pre wrap="">Thomas Swan
<aclass="moz-txt-link-rfc2396E" href="mailto:tswan@idigx.com"><tswan@idigx.com></a> writes: </pre><blockquote
type="cite"><prewrap="">1. create a user with createdb privilege.
 
2. create a database as that user (allowing that user full reign over
that particular db)
3. drop the createdb from the user.
4. pg_dumpall the databases to a single file
5. either use pg_restore or psql < infile to restore the databases and
it fails.   </pre></blockquote><pre wrap="">
This is a known problem, I remember raising it on hackers several
months ago.</pre></blockquote> If there was a 7.2.2 release it would be wonderful for this to be knocked out, too.<br
/><blockquotecite="mid87d6se1vj7.fsf@mailbox.samurai.com" type="cite"><pre wrap="">
 
 </pre><blockquote type="cite"><pre wrap="">Is it possible to address this before the 7.3 release or is this
concern no longer a problem in the 7.3 branch?   </pre></blockquote><pre wrap="">
It's fixed in CVS. Databases are now created using CREATE DATABASE xxx
WITH OWNER yyy: this technique can also be used by the DBA in the
first place, avoiding the need to manually add and then remove
CREATEDB privs from the new user account.</pre></blockquote> This is a wonderful thing for those of us running
postgresqlin a hosting environment.<br /><br />