ThingWorx Flow > Installation and Configuration > Installing ThingWorx Flow > Installing ThingWorx Flow on PostgreSQL
Installing ThingWorx Flow on PostgreSQL
This topic provides the steps to install ThingWorx Flow on Windows Server 2016 or Red Hat Enterprise Linux (RHEL), if you are using the PostgreSQL database.
Installation Process
Use the ThingWorx Flow for PostgreSQL Setup installation tool to install ThingWorx Flow on your operating system.
* 
Before installation, note the following points:
On Windows, it is recommended that you disable your antivirus temporarily during ThingWorx Flow installation.
On Red Hat Enterprise Linux, before you start installing ThingWorx Flow, verify that the releasever file does not exist under the /etc/yum/vars directory. If the releasever file exists, remove the file. If you need to use this file later, you can copy the file to the /etc/yum/vars directory after you finish ThingWorx Flow installation.
* 
The ThingWorx Flow installation tool on Red Hat Enterprise Linux is designed to work with an internet connection. If you plan to install ThingWorx Flow on Red Hat Enterprise Linux without an internet connection, see Prerequisites for Installing ThingWorx Flow in No Internet Access mode on Linux machine.
Open the installation tool
1. Log in to the system where you want to install ThingWorx Flow as administrator.
2. According to the installation package that you downloaded, unzip the download and open the installer file.
a. Log in to the system where you want to install ThingWorx Flow as Administrator.
b. According to the installation package downloaded:
For Windows, double-click to open the installation tool.
For Linux, run the installation tool with the root user, using the command:
sudo ./ThingWorxFlowPostgres-9.x-x86_64.run
However, run the installation tool using the command
sudo -E ./ThingWorxFlowPostgres-9.x-x86_64.run --debuglevel 4
if all the following conditions meet:
a. You have ThingWorx Platform and ThingWorx SSO installed.
b. You do not have ssoSecurityConfig folder under ThingWorxFoundation_installation > ThingWorxPlatform > ssoSecurityConfig.
c. You have THINGWORX_SSO_SETTINGS environment variable set.
* 
Starting fromThingWorx Flow 9.0.12, 9.1.7, 9.2.3, in case of no internet access run the installation tool with noInternet parameter.
For example, sudo ./ThingWorxFlowPostgres-9.x-x86_64.run --noInternet true.
Welcome
Click Next to begin with the installation for ThingWorx Flow.
Getting Ready to Install
Ensure that you set all prerequisites required for installation. You can find detailed prerequisites at ThingWorx Flow prerequisites for PostgreSQL.
Click Next.
Applications in this installer
This installation tool helps you install ThingWorx Flow on your system.
License Agreement
1. Read the license agreement, and then select I accept the agreement. You can print a copy of the agreement.
2. Click Next.
Installation Location
Specify the location where you want to install ThingWorx Flow.
Make sure that you install ThingWorx Flow in a location that has at least 100 GB of free disk space.
* 
On RHEL, if you try to install ThingWorx Flow outside the /opt directory, the install may not succeed. RHEL enforces security restrictions for operating systems, which are outside of the control of the installer. We strongly recommend that you install ThingWorx Flow in the /opt directory.
1. Click to set the installation location, or accept the default location:
Windows—C:\Program Files (x86)
Linux—/opt
2. Click Next.
ThingWorx Flow Configuration Information
Follow these steps to set up a connection with ThingWorx Foundation:
1. In the IP Address or Host Name of ThingWorx Foundation field, specify the host name of the ThingWorx Foundation instance.
2. In the Local Port of ThingWorx Foundation field, specify the port where ThingWorx Foundation is deployed.
3. Depending on how you set up ThingWorx Foundation, under Protocol to access Foundation, select HTTP (insecure) or HTTPS (secure).
4. In the ThingWorx Foundation Settings File Path (platform-settings.json) field, click to specify the location of the platform-settings.json file.
If you are installing ThingWorx Flow on a different machine than ThingWorx Foundation, refer to Installing ThingWorx Flow on a different machine than ThingWorx Foundation to understand how you can provide the platform-settings.json file.
5. Click Next.
* 
If you are installing ThingWorx Flow in a ThingWorx HA environment, follow the steps for this screen at Installation steps specific to ThingWorx Flow in ThingWorx HA.
PostgreSQL Connection Information
1. To establish a connection with PostgreSQL, enter the following details:
PostgreSQL IP Address or Host Name—Enter the fully qualified host name.
PostgreSQL Port—Enter the SQL server port. The default is 5432.
2. To connect to the database that you want to use for ThingWorx Flow, enter the following details:
ThingWorx Flow Database Name—Enter the name of the database that you want to use for ThingWorx Flow.
ThingWorx Flow Database Login Username—Enter the user name of the database owner.
ThingWorx Flow Database Login Password—Enter the password of the database owner.
* 
You can use the same persistence provider that you used for ThingWorx Foundation.
The installer validates the PostgreSQL connection and checks if the database user that you provided has the owner privileges on the database. If you receive an error message, check the details that you specified here and the permissions that you assigned to the database user. For detailed information about the required privileges for the database user, see ThingWorx Flow prerequisites for PostgreSQL.
3. Click Next.
Properties for ThingWorx Flow
Specify the following properties for ThingWorx Flow:
1. In the Hostname for ThingWorx Flow field, enter one of the following values:
If you intend to use a CA-signed certificate, the Hostname for ThingWorx Flow must match the Hostname on the certificate.
Host name of the machine where you are installing ThingWorx Flow
If ThingWorx was already deployed, it is recommended to reuse the host name that been used for the ThingWorx instance.
This configuration allows users to avoid having to change their bookmarks or learn a new URL. However, you must modify the value of the name attribute in the Host tag in the server.xml file under the Tomcat installation.
This option is valid only if ThingWorx is configured with hostname (not IP address or localhost) as ThingWorx Flow must be accessed via the hostname.
Custom domain name. In this case, you must add the following line to the hosts file to map the domain name:
127.0.0.1 <Custom domain name>
* 
The hostname entered must be used as the domain name in the url used for accessing ThingWorx Flow.
2. In the Local HTTPS Port for ThingWorx Flow, specify the HTTPS port where you want to deploy ThingWorx Flow. The default is 443.
3. (Linux only) In the Enter the installation configuration username field, provide the name of the ThingWorx Flow user that you want to create. You can use ThingWorx Flow as this user.
4. Click Next.
Installation Information
This screen provides the ThingWorx Flow installation directory and the ThingWorx Flow HTTPS port.
1. Review the information about your installation.
2. If you need to change anything, click Back. When you are ready, click Next to start the installation.
If you are installing ThingWorx Flow on Windows, it is recommended that you disable your antivirus temporarily during installation.
The entire setup takes about 20 minutes depending on the host hardware configuration.
* 
During the final stages of installation, a console window is launched. Do not close or right-click the console window. The window closes automatically after the installation is complete.
3. Click Finish to close the installation window.
You have successfully installed ThingWorx Flow.
Verification and Testing
Run the ValidateFlowConnectivity service to verify ThingWorx Flow connectivity.
To verify that ThingWorx Flow is installed correctly, start Command Prompt as administrator and execute the following command:
pm2 ls
The status of the following ThingWorx Flow components must be ‘online’:
flow-api
flow-engine
flow-exchange
flow-lookup
flow-oauth-server
flow-trigger
Test functionality in ThingWorx Foundation and ThingWorx Flow to verify that they are working as expected. Verify that you can compose workflows in ThingWorx Composer and the Workflow Editor. For example, you can perform the following tasks:
Log in to the ThingWorx Flow dashboard. To know how to access ThingWorx Flow and ThingWorx Composer, see Accessing ThingWorx Flow and ThingWorx Composer.
Create connectors for the third-party services that you want to use.
Was this helpful?