Обсуждение: pg_restore single table privileges/indexes

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

pg_restore single table privileges/indexes

От
Jeff Amiel
Дата:
"PostgreSQL 8.2.0 on i386-portbld-freebsd6.0, compiled by GCC cc (GCC) 3.4.4 [FreeBSD] 20050518"

We just switched from 'pg_dumpall" to "pg_dump -format=c" for our nightly backups.
I wanted to experiment with restoring a single table (if the need should ever arise) from the dump file.

I use the --clean option on the restore to drop the table first

pg_restore -U pgsql --table codes  --dbname devl --clean backup.pgsql

It seems to work fine with no issues.  However, none of the privileges are set.
I checked the dump with grep and sure enough, they are there:

root@server# grep --binary-files=text "GRANT SELECT ON TABLE codes TO jboss;" backup.pgsql
GRANT SELECT ON TABLE codes TO jboss;

So...the privileges are in the dump...but do not get restored.  Is this issue unique to the --table option?  Is there some way to force it to restore the privileges?

I also notice that the indexes are not restored...that I understand.  I guess I have to do separate --index for each index on the table, correct?

Any help would be appreciated.


Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates.

Re: pg_restore single table privileges/indexes

От
Alan Hodgson
Дата:
On Tuesday 06 February 2007 09:32, Jeff Amiel <becauseimjeff@yahoo.com>
wrote:
> We just switched from 'pg_dumpall" to "pg_dump -format=c" for our nightly
> backups. I wanted to experiment with restoring a single table (if the
> need should ever arise) from the dump file.

> I also notice that the indexes are not restored...that I understand.  I
> guess I have to do separate --index for each index on the table, correct?
>
> Any help would be appreciated.

You can extract the full table of contents from the custom dump
(pg_restore --list dump_file), then extract just the lines relevant to your
table and use those to restore (or at least identify the objects to
restore). You'll find the ACL's, indexes, foreign keys and triggers all on
different lines.

--
Ginsberg's Theorem:
 1) You can't win.
 2) You can't break even.
 3) You can't quit the game.