Re: Moving a database AND changing the superuser

Поиск
Список
Период
Сортировка
От Rich Cullingford
Тема Re: Moving a database AND changing the superuser
Дата
Msg-id 3FDDE816.3090804@sysd.com
обсуждение исходный текст
Ответ на Re: Moving a database AND changing the superuser  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Moving a database AND changing the superuser  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
Tom Lane wrote:
> Rich Cullingford <rculling@sysd.com> writes:
>
>>I did a pg_dumpall in preparation for moving one of our databases from
>>PG7.3 to PG7.4, but I just realized I have another problem: that DB
>>(which has served us faithfully for some time) was created for superuser
>>'postgres,' whilst our new DBs use a superuser name that's aligned with
>>our product.
>
>
> If you used 7.4 pg_dump, I believe that the dump script does not assume
> any particular superuser name (it says RESET SESSION AUTHENTICATION
> when it wants to get back into superuser state, so as long as you start
> it as a superuser, you're golden).

Hmmm, how do you use 7.4 utilities against a 7.3 DB? Run them out of the
7.4 bin dir, but with PGDATA, etc., pointing to the old database (which
must be running, right?)?
>
> IIRC, 7.3 pg_dump had an option to specify the superuser name to use.

I'm assuming that you don't mean:

****
-S username
--superuser=username
****

which seems to be for disabling triggers, but perhaps the following as a
parameter to pg_dumpall:

******
-X use-set-session-authorization
--use-set-session-authorization

     Normally, if a (plain-text mode) script generated by pg_dump must
alter the current database user (e.g., to set correct object
ownerships), it uses the psql \connect command. This command actually
opens a new connection, which might require manual interaction (e.g.,
passwords). If you use the -X use-set-session-authorization option, then
pg_dump will instead output SET SESSION AUTHORIZATION commands. This has
the same effect, but it requires that the user restoring the database
from the generated script be a database superuser. This option
effectively overrides the -R option.

     Since SET SESSION AUTHORIZATION is a standard SQL command, whereas
\connect only works in psql, this option also enhances the theoretical
portability of the output script.

     This option is only meaningful for the plain-text format. For the
other formats, you may specify the option when you call pg_restore.
*****

Others on the list have suggested a global replace of 'postgres' with my
superuser name, but it's hard to see what effects that would have in a
2.3G dump file.

Thanks for your help,
                        Rich C.


В списке pgsql-admin по дате отправления:

Предыдущее
От: "cmeinhardt"
Дата:
Сообщение: Unsubscribe
Следующее
От: Rhaoni Chiu Pereira
Дата:
Сообщение: Unsubscribe