Allow pg_upgrade with PGCLIENTENCODING set
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 7 Apr 2011 16:22:34 +0000 (19:22 +0300)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 7 Apr 2011 16:24:47 +0000 (19:24 +0300)
This used to work, but since PGCLIENTENCODING is now a connection
option variable, pg_upgrade would prevent it.

contrib/pg_upgrade/server.c

index b0df99cede6120cfe0ca82a35e4ad79cee6e333d..a7d57872346104fca8e8e324f0bc188fed04cfb0 100644 (file)
@@ -326,21 +326,26 @@ check_for_libpq_envvars(void)
 
    /* Get valid libpq env vars from the PQconndefaults function */
 
-   start = option = PQconndefaults();
+   start = PQconndefaults();
 
-   while (option->keyword != NULL)
+   for (option = start; option->keyword != NULL; option++)
    {
-       const char *value;
-
-       if (option->envvar && (value = getenv(option->envvar)) && strlen(value) > 0)
+       if (option->envvar)
        {
-           found = true;
+           const char *value;
 
-           pg_log(PG_WARNING,
-                  "libpq env var %-20s is currently set to: %s\n", option->envvar, value);
-       }
+           if (strcmp(option->envvar, "PGCLIENTENCODING") == 0)
+               continue;
 
-       option++;
+           value = getenv(option->envvar);
+           if (value && strlen(value) > 0)
+           {
+               found = true;
+
+               pg_log(PG_WARNING,
+                      "libpq env var %-20s is currently set to: %s\n", option->envvar, value);
+           }
+       }
    }
 
    /* Free the memory that libpq allocated on our behalf */