Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Feb 8, 2024 7:58:47 AM
Mar 16, 2021 10:33:39 AM
This article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
The Qlik Sense Repository Database (QSR) can be moved to a dedicated standalone PostgreSQL instance not hosted on the same machine as other Qlik Sense Services. It is also possible to move an already existing QSR from a local Sense install, to a dedicated PostgresSQL database.
Content:
Instructions for this might vary slightly. Please refer to the Qlik Online Help for details. We recommend watching this video.
Qlik Sense Enterprise server has a set of five databases. For more details visit Installing and configuring PostgreSQL on help.qlik.com.
1. The Qlik Sense repository database (QSR):
The QSR is the primary database in your Qlik Sense deployment.
2. The Qlik Sense services database (SenseServices):
The SenseServices database contains schemas for each of the Qlik Sense services and allows growth independently of the Qlik Sense Repository Database, while still sharing the same PostgreSQL instance and login role.
3. The Qlik Sense message queue database (QSMQ):
The QSMQ database provides a light-weight method of passing messages internally between services in Qlik Sense Enterprise. The NOTIFY and LISTEN functionality in PostgreSQL allows services to be notified about new messages that have been written to the messaging table.
4. The Qlik Sense logging database (QLogs): No longer supported after May 2021
The QLogs database centralizes logging by collecting log messages from all Qlik Sense nodes in your deployment and stores them in a PostgreSQL database.
5. The Qlik Sense license service database (Licenses):
The Licenses database is used to sync the assignments between the Qlik license backend and the local installation.
Follow How to change the shared path in Qlik Sense
Depending on the version, you need to backup different databases, on the current Qlik Sense central node hosting the Qlik Sense Repository Database service, follow the backup instructions to obtain a database copy of each Qlik Sense Database Present .
Example for February 2021 you need to backup the databases reported in section "Installing and configuring PostgreSQL"; referring to the Help site these are :
QSR , QSMQ , SenseServices , Licenses , if configured QLogs
On the dedicated remote postgresSQL host, perform a restore of the backed up Databases of previous point.
Execute steps in Moved Postgress database to new host, but some qliksense is still accessing the SenseServices old da...; check if different version of article are present for different Qlik Sense version .
Starting from April 2019 new License Service implementation is using this database.
It will look like this:
repeat this for:
C:\Program Files\Qlik\Sense\NotifierService\install\Configure-Service.ps1
C:\Program Files\Qlik\Sense\AppDistributionService\Configure-Service.ps1
C:\Program Files\Qlik\Sense\HybridDeploymentService\Configure-Service.ps1
C:\Program Files\Qlik\Sense\MobilityRegistrarService\install\Configure-Service.ps1
C:\Program Files\Qlik\Sense\PrecedentsService\install\Configure-Service.ps1
C:\Program Files\Qlik\Sense\NLAppSearch\install\Configure-Service.ps1
there might come new services or disappear with new releases, please check in the C:\Program Files\Qlik\Sense\ folder for "Configure-Service.ps1" to find additional one in your version of Qlik Sense.
Note: If you have installed Qlik Sense in a different directory the Configure-Service.ps1 would have to be updated as in this example:
File: Configure-Service.ps1 Folders: Various (9 microservices)
Before:
11 | [string] $senseInstallPath
"$env:ProgramFiles\Qlik Sense",
After:
11
[string] $senseInstallPath = "D:\Qlik",
After successfully verifying your new setup, remove the Qlik Sense Repository service dependencies and the old Postgres database. This is done to avoid issues with future Upgrade of Environment.
In Multi-node scenario you need to repeat steps "Changing the Connection Strings to Databases" on all Rim nodes (QlikSenseUtil for Repository.exe.config and Configure-Service.ps1 for the micro services), and if required configure "Update the Qlik Logging Service Connection String" (note that is EOL with Qlik Sense Enterprise on Windows February 2022) .
Hi,
While doing this can you also go from a Different PostgreSQL DB version to another? (e.g. 9.6 to 14.8)
Thanks.
Hello @adamb14
I assume you intend to set up a new standalone database on a higher version (so, 14.8) and then restore the 9.6 database from your previous bundled PostgreSQL?
That is usually how PostgreSQL upgrades are done between major versions (install a new major version, restore the previous one), so the answer would be yes. If, however, you are also upgrading Qlik Sense at the same time we recommend staggering the procedure: Move to an identical version of PostgreSQL first, then upgrade Qlik Sense, then upgrade the database, taking the appropriate backups along the way.
You may also want to look into the Qlik PostgreSQL installer, which not only unbundles Qlik Sense from the PostgreSQL database but can also install a standalone DB. General "upgrade standalone PostgreSQL" instructions that go hand in hand with Qlik can be found here: Qlik Sense Enterprise on Windows: How To Upgrade Standalone PostgreSQL.
All the best,
Sonja
Hi,
Is this article still valid if I would like to just change port of the dedicated postgresql?
(example from port 4432 to 4433)
Regards,
Lucky
Hello @Luck
The article is still accurate, yes. And you can change the port of your standalone PostgreSQL environment. If you have more detailed questions on how to achieve this, please post your question in the Qlik Sense Management and Deployment board.
All the best,
Sonja
@Sebastian_Linser @Sonja_Bauernfeind
Can this step be performed post successful verification to change existing local install PostgreSQL database to dedicated server. This will help to rollback to previous setup in case we face any issues post implementation.
Hello @TusharDev_Qlik
I can confirm that this step should be performed after you have successfully verified your setup. Will clarify this in the text above, thank you for getting in touch!
All the best,
Sonja
@Sonja_Bauernfeind Thank you for your prompt response.
Could you please include details rollback steps(how to restore databases configurations to the previous version) in the above document which will complete the entire process.
Hello @TusharDev_Qlik
A "rollback" by itself does not exist for this process. To move back to a bundled PostgreSQL instance, Qlik Sense Enterprise on Windows would need to be uninstalled and reinstalled on the identical Sense version and the database restored.
All the best,
Sonja
@Sonja_Bauernfeind By rollback I mean if we repoint all databases to Localhost again before uninstalling PostgreSQL from Central, the system will be restored to the previous setup automatically isn't it?
Hello @TusharDev_Qlik
If you walk back all settings previously done, and have not yet uninstalled the bundled PostgreSQL database, then, yes, this will restore you back to the original setup. This will require a complete walking back of the steps though and it is not a method we recommend.
Uninstalling, re-installing, and storing the database is our recommended method.
All the best,
Sonja