Provide a Database Server
FME Flow uses its own database to manage jobs and workspace information. It is not a source or destination data source for FME workspaces.
To ensure the FME Flow Database remains available in a failover scenario, provide a machine on which to install the database that is physically separate from the machines on which the FME Flows are installed. In addition to being physically separate, the database server should, by itself, be configured for fault tolerance.
You can choose to install a PostgreSQL database that is included with the FME Flow installer, or you can configure the FME Flow Database on your own database server. If you use your own database server, keep in mind the following:
- PostgreSQL, Oracle, and SQL Server are supported. The following versions are recommended:
- PostgreSQL: 11.x or later.
- Oracle: 12c or later.
- SQL Server: 2016 or later.
- When you install the FME Flows, the database server must be running and you must know the connection information.
- If using a SQL Server database server, it must be secured with a valid SSL certificate.
- If using an Oracle database server, you must obtain the Oracle Database JDBC driver. For more information, see https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html.
- Following installation, you must be able to create a new database on the server using SQL scripts.
For information about acquiring a fault-tolerant database server, consult your IT department.
Updating the FME Flow Database Password
If you choose to install a PostgreSQL database that is included with the FME Flow installer, and want to update the password for the database user account, follow these instructions:
- Start pgAdmin4.exe from <FMEFlowDir>\Utilities\pgsql\pgAdmin 4\bin\.
- If this is your first time starting pgAdmin4, it will prompt you to set a master password. Choose something you will remember.
- If pgAdmin auto-connects to the FME Flow Database, an entry appears in the Object browser, under Servers, similar to the following:
- Right-click on Servers and Select Create > Server....
- In the General tab of the Create - Server dialog, specify the Name for the server connection. This can be anything, such as fmeflow.
- In the Connection tab of the Create - Server dialog, specify the server properties, using the Database Connection details in the fmeDatabaseConfig configuration file, for DB_TYPE=postgresql, as follows:
- Click Save.
- In the Object browser, select the FME Flow Database server, and locate and expand Login/Group Roles.
- Right-click the fmeserver database user account and select Properties. Under Definition, change the Password and click Save.
- In the fmeDatabaseConfig configuration file, update the value of the DB_PASSWORD parameter that corresponds to DB_TYPE=postgresql with the new password specified above.
- (Recommended) Encrypt the FME Flow Database password.
- Restart FME Flow.
fmeserver (<hostname>:7082)
If pgAdmin III does not auto-connect to the FME Flow Database, add a new Server for it. To add a New Server:
Property |
Value from fmeDatabaseConfig.txt |
---|---|
Host name/address | DB_JDBC_URL=jdbc:postgresql://<hostname>:<port>/<database_name> |
Port | DB_JDBC_URL=jdbc:postgresql://<hostname>:<port>/<database_name> |
Maintenance database | DB_JDBC_URL=jdbc:postgresql://<hostname>:<port>/<database_name> |
Username | DB_USERNAME=<username> |
Password | DB_PASSWORD=<password> |
When finished, save the file.
- Open a command prompt and change to the following directory:
- Run the following command to connect to the FME Flow Database:
- Once connected, enter the following command to change the password for your user:
-
Use \q to quit psql.
- In the the fmeDatabaseConfig configuration file, update the value of the DB_PASSWORD parameter that corresponds to DB_TYPE=postgresql with the new password specified above, and save the file.
- (Recommended) Encrypt the FME Flow Database password.
- Restart FME Flow.
<FMEFlowDir>/Utilities/pgsql/bin
./psql -d <databaseName> -p <port> -U <username>
To confirm the settings, check the Database Connection details in the fmeDatabaseConfig configuration file, for DB_TYPE=postgresql, as follows:
Property |
Value from fmeDatabaseConfig.txt |
---|---|
-d | DB_JDBC_URL=jdbc:postgresql://<hostname>:<port>/<database_name> |
-h | DB_JDBC_URL=jdbc:postgresql://<hostname>:<port>/<database_name> |
-p | DB_JDBC_URL=jdbc:postgresql://<hostname>:<port>/<database_name> |
-U | DB_USERNAME=<username> |
Password ( when prompted) | DB_PASSWORD=<password> |
\password