Thread: Fixes for pg_dump and ownership/acl problems

Fixes for pg_dump and ownership/acl problems

From
Christopher Kings-Lynne
Date:
Hi,

This patch fixes pg_dump for the existing ownership and acl problems.
It does not address the known damaged acls after an ownership change.

It's hacky (although officially hacky :) ) in regards that it parses the
dropStmt on each object to get the objects name.  This is necessary
because of an oversight in the initial design of the binary format.

I've done quite a bit of testing with it, and it seems to work OK.  The
main thing to review would be my C string manipulation stuff that
extracts the object from the drop statement.  I've been careful to avoid
overruns and segaults, but I may have made an error.

I've resurrected the old --use-set-session-authorization flag for sql
standard dumps using SET SESSION AUTHORIZATION instead of OWNER TO.

After my other pg_dumpall patch is committed, we might need to add this
new flag to pg_dumpall as well.

Chris


Attachment

Re: Fixes for pg_dump and ownership/acl problems

From
Christopher Kings-Lynne
Date:
Damn - sorry, I just found a bug in this.  I'll resubmit soon.

Chris

Christopher Kings-Lynne wrote:

> Hi,
>
> This patch fixes pg_dump for the existing ownership and acl problems. It
> does not address the known damaged acls after an ownership change.
>
> It's hacky (although officially hacky :) ) in regards that it parses the
> dropStmt on each object to get the objects name.  This is necessary
> because of an oversight in the initial design of the binary format.
>
> I've done quite a bit of testing with it, and it seems to work OK.  The
> main thing to review would be my C string manipulation stuff that
> extracts the object from the drop statement.  I've been careful to avoid
> overruns and segaults, but I may have made an error.
>
> I've resurrected the old --use-set-session-authorization flag for sql
> standard dumps using SET SESSION AUTHORIZATION instead of OWNER TO.
>
> After my other pg_dumpall patch is committed, we might need to add this
> new flag to pg_dumpall as well.
>
> Chris
>
>
> ------------------------------------------------------------------------
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org