GUI Applications
This topic describes how to connect to a SerenDB database from a GUI application or IDE. Most GUI applications and IDEs that support connecting to a Postgres database also support connecting to SerenDB.
Gather your connection details
The following details are typically required when configuring a connection:
hostname
port
database name
role (user)
password
You can gather these details by clicking the Connect button on your Project Dashboard to open the Connect to your database modal. Select a branch, a role, and the database you want to connect to. A connection string is constructed for you.

SerenDB supports pooled and direct connections to the database. Use a pooled connection string if your application uses a high number of concurrent connections. For more information, see [Connection pooling](/docs/connect/connection-pooling#connection-pooling).
The connection string includes the role, password, hostname, and database name.
postgresql://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.serendb.com/dbname?sslmode=require&channel_binding=require
^ ^ ^
|- <role> |- <hostname> |- <database>role name:
alexhostname:
ep-cool-darkness-123456.us-east-2.aws.serendb.comdatabase name:
dbname
SerenDB uses the default Postgres port, 5432.
Connect to the database
In the GUI application or IDE, enter the connection details into the appropriate fields and connect. Some applications permit specifying a connection string while others require entering connection details into separate fields. In the pgAdmin example below, connection details are entered into separate fields, and clicking Save establishes the database connection.

Some Java-based tools that use the pgJDBC driver for connecting to Postgres, such as DBeaver, DataGrip, and CLion, do not support including a role name and password in a database connection string or URL field. When you find that a connection string is not accepted, try entering the database name, role, and password values in the appropriate fields in the tool's connection UI when configuring a connection to SerenDB. For example, the DBeaver client has a URL field, but connecting to SerenDB requires specifying the connection details as shown:

Tested GUI applications and IDEs
Connections from the GUI applications and IDEs in the table below have been tested with SerenDB.
Some applications require an Server Name Indication (SNI) workaround. SerenDB uses compute domain names to route incoming connections. However, the Postgres wire protocol does not transfer the server domain name, so SerenDB relies on the Server Name Indication (SNI) extension of the TLS protocol to do this. Not all application clients support SNI. In these cases, a workaround is required. For more information, see [Connection errors](/docs/connect/connection-errors).
Use SNI workaround D. Use a $ character as a separator between the endpoint option and password. For example: endpoint=<endpoint_id>$<password>. Also, you must set Secure Socket Layer (SSL) mode to require. See Migrate with AWS DMS.
Requires the PostgreSQL extension and SNI workaround D
Requires the Enable SSL option
Requires SNI workaround D connection workaround
Requires selecting Connect using SSL when creating a connector
The database requires at least one table
Requires sslmode=verify-full. See SNI workaround C.
Requires Enable SSL and uploading the PEM-encoded ISRG Root X1 public root certificate issued by Let's Encrypt, which you can find here: isrgrootx1.pem. See the Looker Studio guide for detailed connection instructions.
May require uploading the PEM-encoded ISRG Root X1 public root certificate issued by Let's Encrypt, which you can find here: isrgrootx1.pem.
Requires enabling the SSL/TLS option
SNI support since v1.5.21. For older versions, use SNI workaround B. Postico's keep-connection-alive mechanism, enabled by default, may prevent your compute from scaling to zero.
Use the PostgreSQL connector with the Require SSL option selected
SNI support on macOS since build 436, and on Windows since build 202. No SNI support on Linux currently. For older versions, use SNI workaround B.
Requires SNI workaround D
Requires setting the SSL Mode option to Require, and SSL TLS Protocol to 1.2. The other SSL fields are not required for SSL Mode: Require.
Requires selecting Other Cloud Services as the Cloud Service Provider, and the Connect directly using IP address and Use SSL options when configuring a PostgreSQL connection.
Connecting from Business Intelligence (BI) tools
When connecting from BI tools like Metabase, Tableau, or Power BI, we recommend using a read replica instead of your main database compute. BI tools often run long or resource-intensive queries, which can impact performance on your primary branch. Read replicas can scale independently and handle these workloads without affecting your main production traffic. To learn more, see SerenDB read replicas.
Connection issues
Applications that use older client libraries or drivers that do not support Server Name Indication (SNI) may not permit connecting to SerenDB. If you encounter the following error, refer to Connection errors for possible workarounds.
ERROR: The endpoint ID is not specified. Either upgrade the Postgres client library (libpq) for SNI support or pass the endpoint ID (the first part of the domain name) as a parameter: '&options=endpoint%3D'. See [https://serendb.com/sni](/sni) for more information.Last updated