---
title: PostgreSQL SSL Integration Guide
slug: manufacturing-connect-edge/postgresql-ssl-integration-guide
docTags: 
createdAt: 2024-01-29T19:01:16.810Z
---

Review the following guide for setting up an integration between Manufacturing Connect Edge and a PostgreSQL database using SSL authentication.&#x20;

# Before You Begin

You will need the following:

- Access to a PostgreSQL database that uses SSL authentication.
- The CA Certificate and any other required authentication parameters to access the database.&#x20;

Refer to the following links to learn more:

- [PostgreSQL Docker Image](https://hub.docker.com/_/postgres)
- [PostgreSQL Documentation](https://www.postgresql.org/docs/)
- [Secure TCP/IP Connections with SSL](https://www.postgresql.org/docs/16/ssl-tcp.html)

# Step 1: Add Device

Follow the steps to [Connect a Device](docId\:RFVIJdxz7DBAd8mwbismA). The device will be used to store tags that will be eventually used to create outbound topics in the connector. Make sure to select the **Enable Data Store** checkbox.&#x20;

# Step 2: Add Tags

After connecting the device in Manufacturing Connect Edge, you can [Add Tags](docId\:iOaNZd2AwqnkuppgeE3Eh) to the device. Create tags that you want to use to create outbound topics for the connector.&#x20;

# Step 3: Add the DB - PostgreSQL SSL Connector

Follow the steps to [Add a Connector](docId\:M2niFNAAdyPHcvZWMCOTo) and select the **DB - PostgreSQL SSL&#x20;**&#x70;rovider.&#x20;

Configure the following parameters.&#x20;

- **Name**: Enter a name for the connector.&#x20;
- **Hostname**: Enter the hostname for the PostgreSQL database.&#x20;
- **Port**: The PostgreSQL Server port. The default value is **5432**.&#x20;
- **SSL Mode**: Select the SSL Mode (require, verify-ca, verify-full).&#x20;
- **CA Certificate**: Paste or upload the CA certificate associated with the database.&#x20;
- **Certificate**: Paste or upload the SSL certificate.&#x20;
- **Private Key**: Enter or paste the SSL private key.&#x20;
- **Username**: Enter the appropriate username.&#x20;
- **Password**: Enter the password for the username. &#x20;
- **Database**: Enter the database name.&#x20;
- **Table**: Enter the table name.
- **Show Mapping**: If you want to send data to a custom table, select this checkbox and unselect *Create table*. See [Work with Tables in SQL Connectors (Create Table and Show Mapping)](docId\:FI9mBipRrRIxufdIHwQl9) to learn more. To add key/value pairs for the custom table, see [Configure Key/Value Pairs](docId\:FI9mBipRrRIxufdIHwQl9).&#x20;
- **Create table**: If you want to send data to an existing table in the default format, or you want to create a new table in the default format, select this checkbox and unselect *Show Mapping*. See [Work with Tables in SQL Connectors (Create Table and Show Mapping)](docId\:FI9mBipRrRIxufdIHwQl9) to learn more.&#x20;
- **Commit timeout**: Enter the transaction commit timeout in (ms).
- **Max transaction size**: Enter the maximum number of messages before a transaction is committed, regardless of timeout parameter.&#x20;
- **Throttling limit**: The maximum number of messages per second to be processed. The default value is zero, which means that there is no limit.&#x20;
- **Persistent storage**: When enabled, this will cause messages to undergo a store-and-forward procedure. Messages will be stored within Manufacturing Connect Edge when cloud providers are online. &#x20;
- **Queue Mode**: Select the queue mode as **lifo&#x20;**(last in first out) or **fifo&#x20;**(first in first out). Selecting **lifo&#x20;**&#x6D;eans that the last data entry is processed first, and selecting **fifo&#x20;**&#x6D;eans the first data entry is processed first.&#x20;

# Step 4: Enable the Connector

After adding the connector, click the toggle in the connector tile to enable it.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/I6Odm89Ngl8Xk3m4x1pz8_postgresqlssl.png" size="60" width="414" height="347" position="center" showCaption="false"}

If you see a *Failed&#x20;*&#x73;tatus, you can review the [Connector Logs](docId\:Zz28hZtQBK7oD_Xsj81O8) and relevant error messages.&#x20;

# Step 5: Create Topics for Connector

You will now need to import the tags created in Step 2 as topics for the PostgreSQL connector. The topics will be created as outbound topics.&#x20;

**To create outbound topics:**

1. Click the connector tile.
   The connector *Dashboard&#x20;*&#x61;ppears.&#x20;
2. Click the **Topics&#x20;**&#x74;ab.&#x20;
3. Click the **Import from DeviceHub tags** icon.&#x20;
   The *DeviceHub Import* dialog box appears.
   ::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/QUo-NUFfBj7F2BbnlBBj3_importdevicehub.png" size="80" width="1218" height="567" caption="Import from DeviceHub icon" position="center" showCaption="true"}
4. Select all the tags to import and click **Import**.&#x20;

After adding all required topics, navigate to the Integration overview page and ensure the connector is not disabled and still shows a CONNECTED status.&#x20;

# Step 6: Enable Topics

To enable the topics, return to the *Topics&#x20;*&#x74;ab and click the **Enable all topics** icon.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/SSUUxKZUk9bFTEPNn_6Zo/_r9Zt0i2zdoHv9dd9d5xx_image.png" size="80" width="1218" height="567" caption="Enable all topics icon" position="center" showCaption="true"}

# Step 7: Make PostgreSQL Queries

You can now verify that you can view data in the PostgreSQL database.&#x20;

Update the credentials, database name, and table name to your specific configurations.&#x20;

**To make PostgreSQL queries:**

1. From the PostgreSQL terminal window, enter `psql -h locahost -U postgres`**&#xA0;**&#x61;nd press **ENTER**.
   The *psql (13.2 (Debian 13.2-1.pgdg100+1))***&#xA0;**&#x76;ersion number appears.
2. Enter `\l`**&#xA0;**&#x61;nd press **ENTER**.
   The list of databases appears in the console.
3. Enter `\l db-example`**&#xA0;**&#x61;nd press **ENTER**.
   The list of databases shows only db-example.
4. Enter `\c postgres`**&#xA0;**&#x61;nd press **ENTER**.
   *You are now connected to database "db-example" as user "postgres"* appears.
5. Enter `\dt` and press **ENTER**.
   The list of relations appears showing the devicehub schema.
6. Enter `\d devicehub` and press **ENTER**.
   The *public.devicehub* table appears.
7. Enter `select * from devicehub;`**&#xA0;**&#x61;nd press **ENTER**.
   The data for the devicehub table appears.

