Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have recently recovered a backup of QlikSense 2023 and followed all the steps highlighted in this guide: https://www.linkedin.com/pulse/qlik-sense-server-recovery-overview-howdashllc-wxm8e/
I have also changed hostnames and IP addresses.
Everything is working except for the QlikSense Bundled Extensions - They come up in QMC OK but 404 on any existing application in the Hub showing an "Invalid visualisation" (Example is qlik-button-for-navigation)
I can also see the extensions in the Qlikshare folder, all system paths are referencing the new hostname correctly and I did bootstrap the server successfully. Permissions are set correctly and other system extensions in the same shared path are working fine.
I have reinstalled the bundle and ensured it was set to install the full packages. If I delete the extensions and restart the Qlik services it automatically recreates the bundles in the share but still don't get picked up by hub.
Any advice in getting the hub to see these extensions?
Great to hear!
I prefer pg_dumpall too. Having the whole database being dumped and restored makes it simpler and quicker process.
In case you're interested, there's a reason why user passwords in the SQL file looked random and why recovery failed when contents of Program Files/Qlik/Sense folder are copied. Explanations below.
Reason Behind Random-looking Passwords in SQL File
The passwords that are in the SQL file that pg_dumpall generates are actually hashed passwords. Plaintext passwords are not stored in PostgreSQL databases. That's why they looked like they were randomly generated when exported to the SQL file.
So it's actually ok to run the psql command and have it recreate the users and use the hashed passwords. The passwords will get hashed anyway.
You can run this query and it will show you hashed passwords of the users in your PostgreSQL server:
select usename
, passwd
from pg_shadow
;
Even though you've entered new passwords for postgres and qliksenserepository user, they still look like gibberish and that's ok. They're supposed to be like that. That's a security feature.
Reason Behind Issues After Copying Over Program Files Folder
This one is also explainable. There are a handful of configuration files stored in Program Files/Qlik/Sense directory that hold encrypted password of qliksenserepository user. An example is appsettings.json file that’s inside of C:\Program Files\Qlik\Sense\AppDistributionService directory. This file stores encrypted database credentials:
That password string can only be decrypted on the original server. New server won't be able to decrypt a password that was encrypted by a different server. That's why when these config files are copied over on a new server, Qlik Sense fails to start - it can't decrypt the password of the qliksenserepository account which it needs to access and interact with PostgreSQL server.
How to Copy Program Files Data Without Issues
Contents of Program Files folder can be copied over without causing issues on a new server. It's actually a good idea to restore Program Files data especially if you or someone else made changes to some of the config files and you want those configs to be carried over to the new server. Program Files\Qlik\Sense folder can be copied to the new server, but make sure to skip copying over these 11 files:
C:\Program Files\Qlik\Sense\AppDistributionService\appsettings.json
C:\Program Files\Qlik\Sense\DataPrepService\appsettings.json
C:\Program Files\Qlik\Sense\HybridDeploymentService\appsettings.json
C:\Program Files\Qlik\Sense\Licenses\appsettings.json
C:\Program Files\Qlik\Sense\MobilityRegistrarService\appsettings.json
C:\Program Files\Qlik\Sense\NLAppSearch\appsettings.json
C:\Program Files\Qlik\Sense\NLBroker\appsettings.json
C:\Program Files\Qlik\Sense\NotifierService\appsettings.json
C:\Program Files\Qlik\Sense\PrecedentsService\appsettings.json
C:\Program Files\Qlik\Sense\QdcCatalogService\appsettings.json
C:\Program Files\Qlik\Sense\Repository\Repository.exe.config
They all contain encrypted data that new server will not be able to decrypt.
With regards to the database password, I figured it was a hashed password, so I originally left it in place however when I attempted to connect to the database as that user it failed hence the reset prior to reinstalling QlikSense.
Thanks for the list of files from Program Files to skip. I'll try to include that directory next time just in-case.