Обсуждение: BUG #14088: pg_restore, --schema, causes TOC entries from even executing.

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

BUG #14088: pg_restore, --schema, causes TOC entries from even executing.

От
psi-jack@linux-help.org
Дата:
The following bug has been logged on the website:

Bug reference:      14088
Logged by:          Eric Renfro
Email address:      psi-jack@linux-help.org
PostgreSQL version: 9.4.5
Operating system:   CentOS 6
Description:

I found a bug when trying to backup, stripping BDR schemas from databases to
restore to a non-BDR database, and this is a pretty serious bug.

When using pg_restore -l --schema=public with pg_restore -L from that data,
the -l does not contain information needed for the --create flag to work.
For example, DATABASE TOC entries are missing from the -l output.

Likewise, when using pg_restore --schema=public --create, again, key TOC
entries related to creation fail to exist because --schema is being used.

This resulted in all create items not restoring with the --create flag used.

Re: BUG #14088: pg_restore, --schema, causes TOC entries from even executing.

От
"David G. Johnston"
Дата:
On Fri, Apr 15, 2016 at 12:12 PM, <psi-jack@linux-help.org> wrote:

> The following bug has been logged on the website:
>
> Bug reference:      14088
> Logged by:          Eric Renfro
> Email address:      psi-jack@linux-help.org
> PostgreSQL version: 9.4.5
> Operating system:   CentOS 6
> Description:
>
> I found a bug when trying to backup, stripping BDR schemas from databases
> to
> restore to a non-BDR database, and this is a pretty serious bug.
>
> When using pg_restore -l --schema=3Dpublic with pg_restore -L from that d=
ata,
> the -l does not contain information needed for the --create flag to work.
> For example, DATABASE TOC entries are missing from the -l output.
>
> Likewise, when using pg_restore --schema=3Dpublic --create, again, key TO=
C
> entries related to creation fail to exist because --schema is being used.
>
> This resulted in all create items not restoring with the --create flag
> used.
>

=E2=80=8BMy first impression is that this is working as designed.  The --cr=
eate
flag has limitations and you seem to have discovered one of them.  If you
are going to play with subset restoration I'd suggest (and it might be
required) that the target database already exist.

You might want to consider placing the --schema=3Dpublic on the pg_restore =
-L
command instead of pg_restore -l

You say "for example" above; but given that the only thing --create does is
create a database your example seems like it covers the entirety of the
complaint.  Am I missing something here?

David J.

=E2=80=8B