mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Improve pg_restore's -t switch to match all types of relations.
-t will now match views, foreign tables, materialized views, and sequences, not only plain tables. This is more useful, and also more consistent with the behavior of pg_dump's -t switch, which has always matched all relation types. We're still not there on matching pg_dump's behavior entirely, so mention that in the docs. Craig Ringer, reviewed by Pavel Stehule
This commit is contained in:
@ -2663,7 +2663,13 @@ _tocEntryRequired(TocEntry *te, teSection curSection, RestoreOptions *ropt)
|
||||
if (ropt->selTypes)
|
||||
{
|
||||
if (strcmp(te->desc, "TABLE") == 0 ||
|
||||
strcmp(te->desc, "TABLE DATA") == 0)
|
||||
strcmp(te->desc, "TABLE DATA") == 0 ||
|
||||
strcmp(te->desc, "VIEW") == 0 ||
|
||||
strcmp(te->desc, "FOREIGN TABLE") == 0 ||
|
||||
strcmp(te->desc, "MATERIALIZED VIEW") == 0 ||
|
||||
strcmp(te->desc, "MATERIALIZED VIEW DATA") == 0 ||
|
||||
strcmp(te->desc, "SEQUENCE") == 0 ||
|
||||
strcmp(te->desc, "SEQUENCE SET") == 0)
|
||||
{
|
||||
if (!ropt->selTable)
|
||||
return 0;
|
||||
|
@ -227,7 +227,7 @@ main(int argc, char **argv)
|
||||
if (strlen(optarg) != 0)
|
||||
opts->superuser = pg_strdup(optarg);
|
||||
break;
|
||||
case 't': /* Dump data for this table only */
|
||||
case 't': /* Dump specified table(s) only */
|
||||
opts->selTypes = 1;
|
||||
opts->selTable = 1;
|
||||
simple_string_list_append(&opts->tableNames, optarg);
|
||||
@ -455,7 +455,7 @@ usage(const char *progname)
|
||||
printf(_(" -P, --function=NAME(args) restore named function\n"));
|
||||
printf(_(" -s, --schema-only restore only the schema, no data\n"));
|
||||
printf(_(" -S, --superuser=NAME superuser user name to use for disabling triggers\n"));
|
||||
printf(_(" -t, --table=NAME restore named table\n"));
|
||||
printf(_(" -t, --table=NAME restore named relation (table, view, etc)\n"));
|
||||
printf(_(" -T, --trigger=NAME restore named trigger\n"));
|
||||
printf(_(" -x, --no-privileges skip restoration of access privileges (grant/revoke)\n"));
|
||||
printf(_(" -1, --single-transaction restore as a single transaction\n"));
|
||||
|
Reference in New Issue
Block a user