Patch: forcing object owner in TOC file

Piotr Gasidło <quaker@barbara.eu.org>

From: Piotr Gasidło <quaker@barbara.eu.org>
To: pgsql-hackers@postgresql.org
Date: 2012-10-15T11:59:34Z
Lists: pgsql-hackers

Attachments

Hello,

I've created small patch which allows me easily change owner during
pg_restore with backup in custom format (-Fc).
This simplifies migration when users on new server are different that
ones in backup file.

First, I get TOC file:

pg_restore -Fc -l mybackup.custom > mybackup.toc

Then, I can alter owner of any object by adding username after TOC Id,
for ex. changing this:

173; 1259 25139 TABLE public data quaker

into this:

173 quaker1; 1259 25139 TABLE public data quaker

By above line I forced quaker1 to be owner of public.data table after restore.

Then I do normal restore using modified TOC:

$ pg_restore -Fc mybackup.custom -L mybackup.toc -d quaker
pg_restore: [archiver] WARNING: altering owner for TABLE data to quaker1

and have public.data TABLE owned by quaker1 user.

Patch attached.

-- 
Piotr Gasidło