1 Reply Latest reply: Feb 13, 2018 6:34 PM by Levi Turner RSS

    Unable to install QlikSense, PostgreSQL?

    Jens van der Sman

      Hi there,

       

      Ever since we moved to the versions where postgreSQL 9.6 is used my Qlik sense installation fails. I've tried everything I could find on the community without much results. The best result I've got is to manually install PG9.6 and setup everything manually but I think the installer should work and there might be something wrong with my system. I've tried all versions up until November 2017. The Windows version is 2016 fully patched clean install. Does anyone have a clue how to fix this?

       

      The general log says this:

      [01DC:0DD4][2018-02-13T13:25:45]e000: Error 0x80070643: Failed to install MSI package.

      [01DC:0DD4][2018-02-13T13:25:45]e000: Error 0x80070643: Failed to execute MSI package.

      [09A4:12D8][2018-02-13T13:25:45]e000: Error 0x80070643: Failed to configure per-machine MSI package.

      [09A4:12D8][2018-02-13T13:25:45]i000: Detected failing msi: PostgreSQL

       

      The postgres log says:

      Calling custom action Qlik.QustomActions64!Qlik.QustomActions64.DatabaseInitializer.InitDB

      Action 13:25:39 80 POSTGRESQL_DIR: C:\Program Files\Qlik\Sense\Repository\PostgreSQL\9.6\bin\

      Action 13:25:39 81 POSTGRESQL_SUPERUSER: postgres

      Action 13:25:39 81 POSTGRESQL_DB_DIR: C:\ProgramData\Qlik\Sense\Repository\PostgreSQL\9.6

      Action 13:25:42 29 Error: child process was terminated by exception 0xC000001D

      Action 13:25:42 29 Error: initdb: removing data directory "C:/ProgramData/Qlik/Sense/Repository/PostgreSQL/9.6"

       

      The full logs are attached below.

        • Re: Unable to install QlikSense, PostgreSQL?
          Levi Turner

          I'd encourage creating a support case for more robust debugging since a forum is non-ideal for these scenarios.

           

          Given the log:

           

           

          Action 13:25:42 30 Info: C:\Program Files\Qlik\Sense\Repository\PostgreSQL\9.6\bin>initdb.exe -U postgres -E utf8 -D "C:\ProgramData\Qlik\Sense\Repository\PostgreSQL\9.6" --pwfile="C:\ProgramData\Qlik\Sense\Installation\postgresql\ps_qlik.bin" -A md5

          Action 13:25:42 30 Info: The files belonging to this database system will be owned by user "SYSTEM".

          Action 13:25:42 30 Info: This user must also own the server process.

          Action 13:25:42 30 Info: The database cluster will be initialized with locale "Dutch_Netherlands.1252".

          Action 13:25:42 30 Info: The default text search configuration will be set to "dutch".

          Action 13:25:42 30 Info: Data page checksums are disabled.

          Action 13:25:42 30 Info: creating directory C:/ProgramData/Qlik/Sense/Repository/PostgreSQL/9.6 ... ok

          Action 13:25:42 30 Info: creating subdirectories ... ok

          Action 13:25:42 30 Info: selecting default max_connections ... 100

          Action 13:25:42 30 Info: selecting default shared_buffers ... 128MB

          Action 13:25:42 31 Info: selecting dynamic shared memory implementation ... windows

          Action 13:25:42 31 Info: creating configuration files ... ok

          Action 13:25:42 31 Info: running bootstrap script ... ok

          Action 13:25:42 31 Info: performing post-bootstrap initialization ...

          Action 13:25:42 31 Info: C:\Program Files\Qlik\Sense\Repository\PostgreSQL\9.6\bin>exit

          Action 13:25:42 31 InitDB call failed with exit code 1.

          CustomAction CA_InitDB returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)

           

          This suggests that the initdb call has failed. Since there are functionally only 2 parameters, does C:\ProgramData\Qlik\Sense\Installation\postgresql\ps_qlik.bin contain the password to the postgres user?


          I mean, in a pinch, you can always change md5 to trust in the pg_hba.conf file in C:\ProgramData\Qlik\Sense\Repository\PostgreSQL\9.x\ directory which will implicitly trust the connection from the local loopback and bypass the pwd validation parameter. The pain here is that to reset things back require a bit of work.