# Local Database (Postgres)

Write records to an external PostgreSQL database. Provide a connection string (DSN); the destination table is chosen per pipeline.

## What this connection offers

Connect an offered PostgreSQL database for record processing. Use the access details and database permissions supplied for that environment. A connection test verifies access, not the correctness of every later query.

| Detail | Value |
| --- | --- |
| Available uses | records |
| Sign-in | Credentials or access key |
| Catalogue identifier | `postgres` |
| Connection scope | tenant |
| Direction | destination |

## Connect

1. Open **Connections**, choose to connect a service, and select **Local Database (Postgres)** with the uses listed above.
2. Give the connection a recognisable name.
3. Fill the settings below in the connection form. Secret fields belong in the credential form, never in chat.
4. Check the connection status and run a connection test where offered.
5. Select this saved connection in the app, workflow step, storage browser, or Assistant task that needs it.

## Connection settings

| Setting | Type | Required | Secret | Explanation |
| --- | --- | --- | --- | --- |
| Connection string (DSN) (`dsn`) | password | yes | yes | — |

## Update credentials

Rotate credentials on the saved connection, then test and check a dependent task. A hidden stored secret is not an empty secret. Supply a replacement only when you intend to change it.

## Diagnose a failure

Check the connected account, its permission to the target, the selected folder, table or collection, and the connection’s current status. A successful sign-in is not proof that a particular resource is shared with that account. An empty search or folder page is not necessarily an authentication error. Revoke access when it is no longer needed; deleting the connection can also affect its tools and synced data. See [connection lifecycle](/docs/connections/revoke-and-delete).
