Properly quote SQL/MED generic options in pg_dump output.
authorRobert Haas
Thu, 25 Aug 2011 16:37:32 +0000 (12:37 -0400)
committerRobert Haas
Thu, 25 Aug 2011 16:38:06 +0000 (12:38 -0400)
Shigeru Hanada

src/bin/pg_dump/pg_dump.c

index 8721e6573db81e857f4d79bbbb7dc089b401d503..d6a547fc47559dda2399a9da20947599497cd757 100644 (file)
@@ -5884,7 +5884,8 @@ getForeignDataWrappers(int *numForeignDataWrappers)
    appendPQExpBuffer(query, "SELECT tableoid, oid, fdwname, "
        "(%s fdwowner) AS rolname, fdwvalidator::pg_catalog.regproc, fdwacl,"
                      "array_to_string(ARRAY("
-        "      SELECT option_name || ' ' || quote_literal(option_value) "
+        "      SELECT quote_ident(option_name) || ' ' || "
+        "             quote_literal(option_value) "
       "        FROM pg_options_to_table(fdwoptions)), ', ') AS fdwoptions "
                      "FROM pg_foreign_data_wrapper",
                      username_subquery);
@@ -5969,7 +5970,8 @@ getForeignServers(int *numForeignServers)
                      "(%s srvowner) AS rolname, "
                      "srvfdw, srvtype, srvversion, srvacl,"
                      "array_to_string(ARRAY("
-        "      SELECT option_name || ' ' || quote_literal(option_value) "
+        "      SELECT quote_ident(option_name) || ' ' || "
+        "             quote_literal(option_value) "
       "        FROM pg_options_to_table(srvoptions)), ', ') AS srvoptions "
                      "FROM pg_foreign_server",
                      username_subquery);
@@ -10275,7 +10277,7 @@ dumpUserMappings(Archive *fout,
 
    appendPQExpBuffer(query,
                      "SELECT usename, "
-                     "array_to_string(ARRAY(SELECT option_name || ' ' || quote_literal(option_value) FROM pg_options_to_table(umoptions)), ', ') AS umoptions\n"
+                     "array_to_string(ARRAY(SELECT quote_ident(option_name) || ' ' || quote_literal(option_value) FROM pg_options_to_table(umoptions)), ', ') AS umoptions\n"
                      "FROM pg_user_mappings "
                      "WHERE srvid = %u",
                      catalogId.oid);