Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitad269d5

Browse files
committed
Fix bug in new pg_dump -T/-N handling that was dumping system schemas if
these options were used before -n/-t.
1 parent6db6714 commitad269d5

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

‎src/bin/pg_dump/pg_dump.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
*by PostgreSQL
1313
*
1414
* IDENTIFICATION
15-
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.445 2006/08/02 21:43:43 momjian Exp $
15+
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.446 2006/08/04 18:32:15 momjian Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -632,7 +632,10 @@ main(int argc, char **argv)
632632
{
633633
/* Special case for when -N is the first argument */
634634
if (this_obj_name==schemaList&& !this_obj_name->is_include)
635-
appendPQExpBuffer(query,"SELECT oid FROM pg_catalog.pg_namespace EXCEPT\n");
635+
appendPQExpBuffer(query,
636+
"SELECT oid FROM pg_catalog.pg_namespace "
637+
"WHERE nspname NOT LIKE 'pg_%%' AND "
638+
" nspname != 'information_schema' EXCEPT\n");
636639

637640
appendPQExpBuffer(query,"SELECT oid FROM pg_catalog.pg_namespace WHERE");
638641
}
@@ -694,7 +697,12 @@ main(int argc, char **argv)
694697
{
695698
/* Special case for when -T is the first argument */
696699
if (this_obj_name==tableList&& !this_obj_name->is_include&& !strlen(query->data))
697-
appendPQExpBuffer(query,"SELECT oid FROM pg_catalog.pg_class WHERE relkind='r' EXCEPT\n");
700+
appendPQExpBuffer(query,
701+
"SELECT pg_class.oid FROM pg_catalog.pg_class, pg_catalog.pg_namespace "
702+
"WHERE relkind='r' AND "
703+
" relnamespace = pg_namespace.oid AND "
704+
" nspname NOT LIKE 'pg_%%' AND "
705+
" nspname != 'information_schema' EXCEPT\n");
698706

699707
appendPQExpBuffer(query,"SELECT oid FROM pg_catalog.pg_class WHERE relkind='r' AND (");
700708
}
@@ -6169,7 +6177,7 @@ dumpCast(Archive *fout, CastInfo *cast)
61696177
* Skip this cast if all objects are from pg_
61706178
*/
61716179
if ((funcInfo==NULL||
6172-
strncmp(funcInfo->dobj.namespace->dobj.name,"pg_",3)==0)&&
6180+
strncmp(funcInfo->dobj.namespace->dobj.name,"pg_",3)==0)&&
61736181
strncmp(sourceInfo->dobj.namespace->dobj.name,"pg_",3)==0&&
61746182
strncmp(targetInfo->dobj.namespace->dobj.name,"pg_",3)==0)
61756183
return;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp