Use a 'datallowconn' check for avoiding 'template0', rather than

hardcoding a 'template0' check, per suggestion from Alvaro.

This might fix a problem where someone has allowed 'template0'
connections, but it is a cleaner approach even if doesn't fix the
bug.
This commit is contained in:
Bruce Momjian 2010-05-18 18:40:51 +00:00
parent 60e7f45966
commit 64719a18db

View file

@ -304,15 +304,14 @@ set_frozenxids(migratorContext *ctx)
PQclear(executeQueryOrDie(ctx, conn,
"UPDATE pg_catalog.pg_database "
"SET datfrozenxid = '%u' "
/* cannot connect to 'template0', so ignore */
"WHERE datname != 'template0'",
"WHERE datallowconn = true",
ctx->old.controldata.chkpnt_nxtxid));
/* get database names */
dbres = executeQueryOrDie(ctx, conn,
"SELECT datname "
"FROM pg_catalog.pg_database "
"WHERE datname != 'template0'");
"WHERE datallowconn = true");
/* free dbres below */
PQfinish(conn);