Database users
DX supports direct SQL access to your data lake, enabling direct read and write operations to be performed outside of the DX interface.
Read access allows you to query DX-managed and custom tables—ideal for building custom applications, integrating with platforms like Snowflake or BI tools.
Write access lets you load custom data into DX. To maintain separation from DX-managed tables, custom tables must reside in the “custom” namespace and follow the naming custom.tablename. Foreign key constraints that reference DX-managed tables is not supported.
Setup instructions
Step 1 – Create a database user
- Log in to DX as an admin user.
- Navigate to the DB Users admin screen.
- Add a new user with either the read or read_write scope.
- Copy your database credentials.
Step 2 – Connect to your database
Use a Postgres-compatible database client and connect to the database with the credentials you generated in Step 1. For desktop clients, we recommend Postico and pgAdmin. If your database user was granted the read_write scope, you can create tables in the custom. namespace and write to them.
The credentials are provided as a single connection string (URL). If your database client requires you to enter connection details separately, you can extract them from the URL using the following pattern:
postgres://<user>:<password>@<host>:<port>/<database>
- User: Appears after
postgres://and before: - Password: Appears after the user and
:and before@ - Host: Appears after
@and before the port number - Port: Appears after the host and
:(typically5432) - Database: Appears at the end of the string after
/
BI tool example
The images below demonstrate connecting to DX from a business intelligence tool (e.g., Mode Analytics) and creating a custom cycle time report using data from the DX data lake.



