Обсуждение: pg_restore -l and schema name

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

pg_restore -l and schema name

От
Phil Endecott
Дата:
Dear Postgresql people,

For the first time I'm trying to use pg_restore to do a partial restore.
  It looks as if it should be easy: pg_restore -l, filter out the
required tables, then pg_restore -L.  But unfortunately the listing
generated by pg_resotre doesn't include the schema name!   Since my
database consists of lots of almost-identical schemas, I'm a bit stuck.

So this message is really a feature request for "please include the
schema name in the pg_restore -l output".  Also, I'd be interested to
hear from anyone who has faced this problem before and can suggest how
to work around it.

Thanks in advance for any help.

Regards,

--Phil.


p.s. I'm logging long-running statements to syslog, and I'd also love to
see schema names there.  But that's a less important problem.



Re: pg_restore -l and schema name

От
Tom Lane
Дата:
Phil Endecott <spam_from_postgresql_general@chezphil.org> writes:
> So this message is really a feature request for "please include the
> schema name in the pg_restore -l output".

Seems reasonable.  I've applied the attached patch to 8.0; you can
probably apply it locally without much trouble (the change is in
PrintTOCSummary() if you can't find the spot easily).

            regards, tom lane


*** src/bin/pg_dump/pg_backup_archiver.c.orig    Fri Sep 10 16:05:18 2004
--- src/bin/pg_dump/pg_backup_archiver.c    Fri Oct  8 10:57:37 2004
***************
*** 699,707 ****
      while (te != AH->toc)
      {
          if (_tocEntryRequired(te, ropt, false) != 0)
!             ahprintf(AH, "%d; %u %u %s %s %s\n", te->dumpId,
                       te->catalogId.tableoid, te->catalogId.oid,
!                      te->desc, te->tag, te->owner);
          te = te->next;
      }

--- 699,708 ----
      while (te != AH->toc)
      {
          if (_tocEntryRequired(te, ropt, false) != 0)
!             ahprintf(AH, "%d; %u %u %s %s %s %s\n", te->dumpId,
                       te->catalogId.tableoid, te->catalogId.oid,
!                      te->desc, te->namespace ? te->namespace : "-",
!                      te->tag, te->owner);
          te = te->next;
      }