On 26.06.22 05:51, Julien Rouhaud wrote:
Hi,
On Sat, Jun 25, 2022 at 10:19:30AM -0500, Justin Pryzby wrote:
commit f2553d43060edb210b36c63187d52a632448e1d2 says >=1500 in a few places,
but in pg_upgrade says <=1500, which looks wrong for upgrades from v15.
I think it should say <= 1400.
On Wed, Feb 02, 2022 at 02:01:23PM +0100, Peter Eisentraut wrote:
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index 69ef23119f..2a9ca0e389 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -312,11 +312,20 @@ get_db_infos(ClusterInfo *cluster)
i_spclocation;
char query[QUERY_ALLOC];
snprintf(query, sizeof(query),
- "SELECT d.oid, d.datname, d.encoding, d.datcollate,
d.datctype, "
+ "SELECT d.oid, d.datname, d.encoding, d.datcollate,
d.datctype, ");
+ if (GET_MAJOR_VERSION(old_cluster.major_version) <= 1500)
I think the fix here is to change <= to < ?
+ snprintf(query + strlen(query), sizeof(query) - strlen(query),
+ "'c' AS datcollprovider, NULL AS daticucoll,
");
+ else
+ snprintf(query + strlen(query), sizeof(query) - strlen(query),
+ "datcollprovider, daticucoll, ");
+ snprintf(query + strlen(query), sizeof(query) - strlen(query),
"pg_catalog.pg_tablespace_location(t.oid) AS spclocation
"
"FROM pg_catalog.pg_database d "
" LEFT OUTER JOIN pg_catalog.pg_tablespace t "
Indeed!