Обсуждение: Re: [pgsql-bugs] pg_dumpall (7.3) 'public' schema bug

Поиск
Список
Период
Сортировка

Re: [pgsql-bugs] pg_dumpall (7.3) 'public' schema bug

От
Josh Berkus
Дата:
Karl,

> I don't care that much about the behavior, it's easy enough
> to delete 'public'. =C2=A0I do think that a note should be
> made in the administrator manual regards system upgrades
> where pg_dump(all) scripts are given if this is going to be
> the behavior.

This isn't isolated to the "public" schema.   In fact, anything which is in=
=20
the template database (usually template1) will be in the database you reloa=
d,=20
even if it wasn't in the original database.   The result is that when you t=
ry=20
to remove built-in objects that ship with PostgreSQL, they are "replaced" o=
n=20
a new migration server.   pg_dump isn't capable of working around this, nor=
=20
should it be.

Search the archives of -Hackers mailing list for this issue;  a few=20
workarounds were suggested.

--=20
Josh Berkus
Aglio Database Solutions
San Francisco

Re: [pgsql-bugs] pg_dumpall (7.3) 'public' schema bug

От
Bruno Wolff III
Дата:
On Wed, Nov 17, 2004 at 11:53:10 -0800,
  Josh Berkus <josh@agliodbs.com> wrote:
> Karl,
>
> > I don't care that much about the behavior, it's easy enough
> > to delete 'public'.  I do think that a note should be
> > made in the administrator manual regards system upgrades
> > where pg_dump(all) scripts are given if this is going to be
> > the behavior.
>
> This isn't isolated to the "public" schema.   In fact, anything which is in
> the template database (usually template1) will be in the database you reload,
> even if it wasn't in the original database.   The result is that when you try
> to remove built-in objects that ship with PostgreSQL, they are "replaced" on
> a new migration server.   pg_dump isn't capable of working around this, nor
> should it be.
>
> Search the archives of -Hackers mailing list for this issue;  a few
> workarounds were suggested.

I am pretty sure that the last time this was discussed, it was pointed out
that pg_dump(all) and pg_restore are relative to template0, not template1.
(Though by default template1 will be the same as template0.)