I've used pg_upgrade like this before, but maybe from a different (recent) 11dev HEAD; I found: "pg_upgrade supports upgrades from 8.4.X and later to the current major release of PostgreSQL, including snapshot and beta releases." (But maybe upgrades FROM beta releases aren't supported in the general case?)
sudo -u postgres /usr/pgsql-11/bin/postgres -D /var/lib/pgsql/11dev0/data < 2018-05-29 12:06:50.104 CDT >FATAL: database files are incompatible with server < 2018-05-29 12:06:50.104 CDT >DETAIL: The database cluster was initialized with CATALOG_VERSION_NO 201803141, but the server was compiled with CATALOG_VERSION_NO 201804191. sudo -u postgres sh -ec 'cd /var/lib/pgsql; /usr/pgsql-11/bin/pg_upgrade -b /usr/pgsql-11dev0/bin -B /usr/pgsql-11/bin -d /var/lib/pgsql/11dev0/data -D /var/lib/pgsql/11/data -j2 --link --retain' ... command: "/usr/pgsql-11/bin/pg_dump" --host /var/lib/pgsql --port 50432 --username postgres --schema-only --quote-all-identifiers --binary-upgrade --format=custom --file="pg_upgrade_dump_16401.custom" 'dbname=c' >> "pg_upgrade_dump_16401.log" 2>&1 pg_dump: [archiver (db)] query failed: ERROR: column i.indnkeyatts does not exist LINE 1: ...atalog.pg_get_indexdef(i.indexrelid) AS indexdef, i.indnkeya... ^ HINT: Perhaps you meant to reference the column "i.indnatts". pg_dump: [archiver (db)] query was: SELECT t.tableoid, t.oid, t.relname AS indexname, inh.inhparent AS parentidx, pg_catalog.pg_get_indexdef(i.indexrelid) AS indexdef, i.indnkeyatts AS indnkeyatts, i.indnatts AS indnatts, i.indkey, i.indisclustered, i.indisreplident, t.relpages, c.contype, c.conname, c.condeferrable, c.condeferred, c.tableoid AS contableoid, c.oid AS conoid, pg_catalog.pg_get_constraintdef(c.oid, false) AS condef, (SELECT spcname FROM pg_catalog.pg_tablespace s WHERE s.oid = t.reltablespace) AS tablespace, t.reloptions AS indreloptions FROM pg_catalog.pg_index i JOIN pg_catalog.pg_class t ON (t.oid = i.indexrelid) JOIN pg_catalog.pg_class t2 ON (t2.oid = i.indrelid) LEFT JOIN pg_catalog.pg_constraint c ON (i.indrelid = c.conrelid AND i.indexrelid = c.conindid AND c.contype IN ('p','u','x')) LEFT JOIN pg_catalog.pg_inherits inh ON (inh.inhrelid = indexrelid) WHERE i.indrelid = '19970'::pg_catalog.oid AND (i.indisvalid OR t2.relkind = 'p') AND i.indisready ORDER BY indexname