Access PostgreSQL Data Source through the NineData Gateway
NineData supports accessing PostgreSQL data sources through a gateway, allowing you to connect to PostgreSQL without providing an external address, even if it's in a private or dedicated network environment.
Prerequisites
- The host where the gateway is deployed must be within the PostgreSQL data source's intranet environment and must be able to access the PostgreSQL data source smoothly through the intranet.
- The host where the gateway is deployed must have internet access. If your host cannot access the internet and is within a local area network, you can deploy a proxy gateway. For more information, see Using a Proxy Gateway.
Step 1: Deploy the Gateway
Use this step when the gateway host can access the public internet. If the host can access only a local area network, use Proxy Gateway to deploy the gateway.
Sign in to the NineData console on the host where you want to deploy the gateway.
In the left navigation pane, click Datasource > Gateway.
Click Create Gateway in the top right of the page.
Configure the following parameters.
Parameter Description Name Enter a gateway name that is easy to search and manage. You can specify the name manually. Environment Select the operating system of the gateway host. NineData displays the corresponding gateway installation method. The following operating systems are supported: - Windows(x86_64)
- Linux(x86_64)
- macOS
Access Region Select the region closest to the gateway host to reduce network latency. Advanced No configuration required. Follow the displayed installation method to install and configure the gateway on the deployment host. After the configuration is complete, the connection diagram on the right changes from Waiting for the local gateway to launch... to The local gateway is connected successfully.
Click Create Datasource, select the data source to add in the dialog, and proceed to Step 2.
Step 2: Access the PostgreSQL Data Source
On the Create Datasource page, configure the parameters in the table.
Parameter Description Name Enter the name of the data source. Use a meaningful name so you can find and manage the data source later. Connection Select Gateway. Gateway Select the gateway ID deployed in Step 1. Host Enter the access address and port of the PostgreSQL data source. - If PostgreSQL is installed on the local machine: Enter
localhostor127.0.0.1for the address and the actual port of PostgreSQL for the port. - If PostgreSQL is installed on another host within the intranet: Enter the intranet IP of that host for the address and the actual port of PostgreSQL for the port.
DB Account Enter the login username for PostgreSQL. DB Password Enter the login password for PostgreSQL. Access Region Select the region closest to your PostgreSQL host to effectively reduce network latency. Environment Select the environment that matches the business purpose of the data source. The default provides the PROD and DEV environments, and also supports you to create a custom environment.
Note: In organization mode, the database environment can also be applied to permission policy management. For example, the default Prod Admin role only supports access to data sources in the PROD environment and cannot access data sources in other environments. For more information, see Managing Roles.Encryption Specify whether to use SSL encryption to access the data source (default is off). If the data source requires SSL encryption, you must enable this switch; otherwise, the connection will fail.
Click the switch on the right to enable or disable encryption transmission. Click the left of Encryption to expand detailed configurations.- SSL Options: Supports four options:
- Prefer: Automatically detects the SSL status of the server. If SSL is enabled on the server, it will connect via SSL. If SSL is not enabled on the server, it will connect without SSL.
- Require: Always connects via SSL. If the server does not support this method or cannot establish an SSL connection for other reasons, the connection will fail.
- Verify-CA: Upload a CA certificate to verify whether the server's certificate is signed by a trusted authority, preventing Man-in-the-Middle Attacks. Additionally, you can upload a client user certificate and key to verify your identity and encrypt communication with the server as needed.
- Verify-full: On top of Verify-CA, verifies whether the server certificate's subject (e.g., hostname, IP address) matches the actual connected server to ensure connection security.
- CA Cert: Required when SSL Options is Verify-CA or Verify-Full, specifies the CA certificate used to verify the server certificate.
- Client Certificate (optional): If the server requests a client certificate, you must upload the client certificate to verify your identity. Client Certificate contains the user certificate (.pem) and key (.pk8).
- Key Password: If the uploaded client key file is password-protected, enter the password here. Leave it blank if no password is set for the client key.
- If PostgreSQL is installed on the local machine: Enter
After configuring the parameters, click Connection Test next to Create Datasource to verify that NineData can reach the data source. When Connection Successfully appears, click Create Datasource to add the data source. If the test fails, review the connection settings and run the test again.
Appendix: Using a Proxy Gateway
If the gateway host cannot access the public internet, use a proxy gateway. Prepare two hosts in the same LAN that can reach each other:
- Host A: A host that can access the public internet.
- Host B: The host where you deploy the gateway.
Create a gateway on Host A to act as a proxy so Host B can connect to the NineData server through it.
Procedure
Sign in to the NineData console on Host A.
In the left navigation bar, click Datasource > Gateway.
Click Create Gateway in the top right of the page.
Configure the following parameters.
Parameter Description Name Enter a gateway name that is easy to search and manage. You can specify the name manually. Environment Select the operating system of the gateway host. NineData displays the corresponding gateway installation method. The following operating systems are supported: - Windows (x86_64)
- Linux (x86_64)
- macOS
Access Region Select the region closest to the gateway host to reduce network latency. Advanced No configuration is required. Follow the displayed installation method to install and configure the gateway on Host A. After the configuration is complete, the connection diagram on the right changes from Waiting for the local gateway to launch... to The local gateway is connected successfully.
Click Completed and back to List, and then click Create Gateway in the top right of the page again.
In Environment, select the operating system of Host B.
Click Advanced, select Use Proxy, and open the dropdown under Proxy. Select the gateway created on Host A.
tipNineData opens a proxy port on Host A for Host B. When the page shows
xxx has enabled proxy function, port xxx, the proxy gateway is ready.Follow the displayed installation steps to install the gateway on Host B.
Wait until the connection diagram on the right changes from Waiting for the local gateway to launch... to The local gateway is connected successfully.
Click Create Datasource to proceed to Step 2.