Upgrade to 2026.1+ process¶
InternalDB
This only applies to installations where Altair SLC Hub is configured to use InternalDB.
Before you start¶
Prerequisites
- Administrator access to the Altair SLC Hub server machine.
Upgrade¶
For Altair SLC Hub 2026.1, the version of Postgres used for InternalDB has been upgraded from 14 to 18. This necessitates a small intervention prior to performing the installation of the new version of Altair SLC Hub if the database is configured to use InternalDB. These steps can be safely ignored if you are not using InternalDB. To check your Altair SLC Hub installation's database configuration, run:
hubctl config print database.type
If the output is internal you should continue with the following steps.
First, stop all Altair SLC Hub services:
hubctl service stop
Next, run the following commands in order to generate an upgrade file which will be used for initialising the new version Postgres.
hubctl service start internaldb
FOR /F "tokens=*" %g IN ('hubctl config print hub.var') do (SET HUB_VAR=%g)
FOR /F "tokens=*" %g IN ('hubctl config print hub.home') do (SET HUB_HOME=%g)
hubctl config print internaldb.port
if not %ERRORLEVEL% == 0 ( SET INTERNALDB_PORT=8208) else ( FOR /F "tokens=*" %g IN ('hubctl config print internaldb.port') do (SET INTERNALDB_PORT=%g) )
FOR /F "tokens=*" %g IN ('type "%HUB_VAR%\internaldb\key.txt"') do (SET KEY=%g)
echo localhost:%INTERNALDB_PORT%:*:slchub-internaldb:%KEY%> "%HUB_VAR%"\internaldb\pass.txt
SET PGPASSFILE=%HUB_VAR%\internaldb\pass.txt
(echo host all slchub-internaldb 127.0.0.1/32 scram-sha-256 & echo host all slchub-internaldb ::1/128 scram-sha-256) > "%HUB_VAR%"\internaldb\pg_hba.conf
"%HUB_HOME%"\libexec\postgres\bin\pg_dumpall -d "host=localhost port=%INTERNALDB_PORT% dbname=postgres sslmode=allow user=slchub-internaldb" > "%HUB_VAR%"\internaldb\pg_dumpall.sql
hubctl service stop internaldb
del "%HUB_VAR%"\internaldb\pass.txt
cp -a "$(hubctl config print hub.home)"/etc/postgres/pg_hba.conf "$(hubctl config print hub.home)"/etc/postgres/pg_hba.conf.copy
echo -e "host all slchub-internaldb 127.0.0.1/32 scram-sha-256\nhost all slchub-internaldb ::1/128 scram-sha-256" > "$(hubctl config print hub.home)"/etc/postgres/pg_hba.conf
hubctl service start internaldb
rm -f "$(hubctl config print hub.home)"/etc/postgres/pg_hba.conf
mv "$(hubctl config print hub.home)"/etc/postgres/pg_hba.conf.copy "$(hubctl config print hub.home)"/etc/postgres/pg_hba.conf
echo "localhost:$(echo $(hubctl config print internaldb.port 2> /dev/null || echo 8208)):*:slchub-internaldb:`cat "$(hubctl config print hub.var)"/internaldb/key.txt`" > "$(hubctl config print hub.var)"/internaldb/pass.txt
chmod 0600 "$(hubctl config print hub.var)"/internaldb/pass.txt
PGPASSFILE="$(hubctl config print hub.var)"/internaldb/pass.txt LD_LIBRARY_PATH="$(hubctl config print hub.home)"/libexec/postgres/lib/ $(hubctl config print hub.home)/libexec/postgres/bin/pg_dumpall -d "host=localhost port=$(echo $(hubctl config print internaldb.port 2> /dev/null || echo 8208)) dbname=postgres sslmode=allow user=slchub-internaldb" > "$(hubctl config print hub.var)"/internaldb/pg_dumpall.sql
hubctl service stop internaldb
rm -f "$(hubctl config print hub.var)"/internaldb/pass.txt
You can now perform the installation of the new version of Altair SLC Hub in the standard way. The upgrade file will be consumed by the hubctl bootstrap process.