# Databases

1. [Home](https://www.agilicus.com/)
2. [Agilicus AnyX Administrative Web Interface](https://www.agilicus.com/anyx-guide/agilicus-anyx-administrative-web-interface/)
3. [Resources](https://www.agilicus.com/anyx-guide/agilicus-anyx-administrative-web-interface/resources/)
4. Databases

![](https://www.agilicus.com/www/9ba6112d-featured-anyx-admin-resourcesdatabases.png)## Databases

[CONTACT](/contact-us/)

The **Databases** pages (routes `/database-overview` and `/database-new`) manage database resources exposed through Agilicus AnyX. A database resource lets applications and launchers reach a database on your private network, proxied over TLS, without exposing the database to the internet. See [Resources (concepts)](/anyx-guide/agilicus-anyx-administrative-web-interface/concepts/resources/) for where databases fit in the platform.

## Purpose

A database resource tells the platform where a database lives (the host and port inside your network) and which connector fronts it. When a user connects, a database gateway proxies the database protocol to that address through the connector, and the connector injects the correct database credentials so the end user never handles them. Users connect to the database using its domain name and their Agilicus credentials, such as an application programming interface key.

The Databases overview lists every database, its address, connector and protocol, and lets you create, edit and delete databases. The New Database wizard walks through the connector, name, address, credentials and a review step in six steps.

## Why use it

- Let a desktop application, mobile app or launcher talk directly to a database over its native protocol without opening a firewall port. See [Zero trust architecture](/anyx-guide/agilicus-anyx-administrative-web-interface/concepts/zero-trust-architecture/).
- Give each user their own credentials: the connector substitutes per-user database credentials at connection time, so users never share a database password.
- Combine a database with an application launcher or a file template so applications receive a connection template customised with per-user credentials.
- Keep the database invisible: it has no public IP and is reachable only through the outbound-only connector.

## When to use it

- When a tool such as a geographic information system application reads directly from PostgreSQL or another database without an intermediate application programming interface layer.
- When you expose a web application that needs a database behind it, and you want the application to reach the database through the platform rather than a virtual private network.
- Whenever you add, change or remove a database, or change the credentials used to reach it.

**Prerequisite**: permission to administer databases (an owner or administrator role). Without it, the page shows a *no permissions* message.

## How to use it

### Databases overview

1. Open **Resources &gt; Databases &gt; Overview** from the left navigation.

![Databases overview](https://www.agilicus.com/www/2a878a94-databases-overview.png)    The table lists every database with its name, address, port, connector, database protocol and assigned policies. The name, address and port cells are editable inline. Use the search box to filter the table, and the toolbar buttons to **ADD DATABASE** or delete selected rows.

1. Open the **more** menu on a database row for the row actions:

![Databases overview row actions](https://www.agilicus.com/www/b79dd550-databases-overview-row-actions.png)    - **Search in Audits**: jumps to the audit subsystem filtered to this database.
- **Copy URL**: copies the database's connection URL.
- **Manage Credentials**: opens the credentials dialog to change the database username and password.
- **Create Template**: opens the template wizard pre-scoped to this database, so you can build a connection template with per-user credentials.
- **Configure Policies**: attaches policies to the database.

### Creating a database with the wizard

1. Open **Resources &gt; Databases &gt; New**. The wizard has six steps: **Select connector**, **Database name**, **Data Source**, **Credentials**, **Apply**, and **Done**.

\#### Step 1: Select connector

1. Choose the connector that fronts the database. If you have not created one, use **Resources &gt; Connectors &gt; New** first, then return and select it.

![Database wizard: step 1, connector](https://www.agilicus.com/www/f5bb59e4-databases-new-step1-connector.png)    \#### Step 2: Database name

1. Enter the **database name**. The tooltip explains that this name uniquely identifies the database within this organisation. It must be a valid hostname, because it becomes part of the domain users connect to.

![Database wizard: step 2, name](https://www.agilicus.com/www/3071b06d-databases-new-step2-name.png)    \#### Step 3: Data Source

1. Enter the **address** of the database in your remote network (the hostname or IP) and the **port**. A database gateway proxies requests from the client through to this address via the connector.

![Database wizard: step 3, data source](https://www.agilicus.com/www/f56eba5e-databases-new-step3-data-source.png)    \#### Step 4: Credentials

1. Enter the **username** and **password** the gateway uses to connect to the database. These are stored by the platform and injected by the connector at connection time; end users do not see or enter them.

![Database wizard: step 4, credentials](https://www.agilicus.com/www/10a092d8-databases-new-step4-credentials.png)    \#### Step 5: Apply

1. Review the summary, which restates the connector, database name, address, port and username. Select **APPLY** to create the database. Creation runs asynchronously; the wizard advances to Done automatically when it succeeds.

![Database wizard: step 5, apply](https://www.agilicus.com/www/83182b67-databases-new-step5-apply.png)    \#### Step 6: Done

1. The Done step confirms the database was created and offers to create a template, add the database to resource groups, assign permissions, and add it to policies.

![Database wizard: step 6, done](https://www.agilicus.com/www/b79dd550-databases-new-step6-done.png)    Select **Yes** for *I would like to create a template for this database now* and a **CREATE TEMPLATE** button appears, which opens the [template wizard](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/templates/) pre-scoped to the database:

![Database wizard: done step, create template option](https://www.agilicus.com/www/911c75d6-databases-new-step6-done-template-option.png)    The other **Yes** options reveal the resource group picker, the permission assignment table, and the policy picker inline on the Done step.

## Fields and controls reference

| Control | Purpose | Required | Default | Valid values | Notes |
|---|---|---|---|---|---|
| Name | The database's unique name | Yes | n/a | A valid hostname, no spaces | Uniquely identifies the database in the organisation |
| Address | Hostname or IP of the database | Yes | n/a | Hostname or IP | Proxied through the connector |
| Port | Port the database listens on | Yes | n/a | A port number | For example 5432 for PostgreSQL |
| Username | Database user the gateway connects as | Yes | n/a | A user on the database | Injected by the connector at connection time |
| Password | Password for the database user | Yes | n/a | Any text | Stored by the platform, never shown to end users |
| Connector | Connector fronting the database | Yes | n/a | A configured connector |  |
| Database protocol | Protocol of the database | Read-only | postgresql | postgresql and others | Shown on the overview |
| Policies | Policies attached to the database | No | n/a | Configured policies | Set from **Configure Policies** |

## Dialogs and popups

- **Manage Credentials dialog**: opened from the row menu's **Manage Credentials**. It shows the database name, the **Username** and **Password** fields, and **SAVE**, **DELETE** and **CANCEL** buttons. **DELETE** removes the stored credentials; the database resource itself remains.

![Database credentials dialog](https://www.agilicus.com/www/42455faa-databases-credentials-dialog.png)    - **Configure Policies dialog**: the two-pane policy assignment dialog (available policies on the left, current policies on the right). See [Policies](/anyx-guide/agilicus-anyx-administrative-web-interface/access/policies/).

![Database policies dialog](https://www.agilicus.com/www/2a878a94-databases-policies-dialog.png)    - **Confirmation dialog**: deleting a database confirms before acting.

![Database delete confirmation](https://www.agilicus.com/www/34da07e4-databases-delete-confirmation.png)    ## Configuration versus diagnostics versus confirmation

- **Configuration**: creating databases, editing the name, address, port and protocol inline on the overview, and managing credentials are persistent configuration.
- **Diagnostics**: the overview row reflects the current state; use **Search in Audits** from the row menu to see access attempts.
- **Confirmation**: deleting a database is permanent and removes the connection users rely on. Confirm before proceeding.

## Pagination and async behaviour

- The Databases overview pages at **25 rows per page**; the paginator shows the current page and totals. The demo organisation had no databases when captured.
- Database creation runs asynchronously. After selecting **APPLY**, wait a few seconds; the wizard advances to Done automatically. New databases appear on the overview shortly after creation. After editing cells inline or deleting, reload or navigate away and back to confirm.
- Inline cell edits save when you blur the field; wait a few seconds and reload to confirm the change.

## Troubleshooting

- **The database will not create**: check the name is a valid hostname, the address and port are present, the credentials are filled in, and a connector is selected. Validation errors appear on the relevant step.
- **Users cannot connect**: check the connector status on the [Connectors](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/connectors/) overview, confirm the database address and port are reachable from the connector's network, and check the credentials with **Manage Credentials**.
- **Connection failures appear in audits**: use **Search in Audits** from the row menu to see the failed attempts and confirm the connector is healthy.
- **An application cannot find the database**: applications reach databases through a launcher or a connection template. See [Launchers](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/launchers/) and [Templates](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/templates/).

## See also

- [Resources (concepts)](/anyx-guide/agilicus-anyx-administrative-web-interface/concepts/resources/)
- [Zero trust architecture](/anyx-guide/agilicus-anyx-administrative-web-interface/concepts/zero-trust-architecture/)
- [End-user experience](/anyx-guide/agilicus-anyx-administrative-web-interface/concepts/end-user-experience/)
- [Resource permissions](/anyx-guide/agilicus-anyx-administrative-web-interface/access/resource-permissions/)
- [Resource groups](/anyx-guide/agilicus-anyx-administrative-web-interface/access/resource-groups/)
- [Policies](/anyx-guide/agilicus-anyx-administrative-web-interface/access/policies/)
- [Connectors](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/connectors/)
- [Launchers](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/launchers/)
- [Templates](/anyx-guide/agilicus-anyx-administrative-web-interface/resources/templates/)
- [Getting started: expose a resource](/anyx-guide/agilicus-anyx-administrative-web-interface/getting-started/expose-resource/)

## Web guide

- [Databases](https://www.agilicus.com/databases)
- [Databases in the AnyX guide](https://www.agilicus.com/anyx-guide/databases/)
- [Launchers](https://www.agilicus.com/product-guide/launchers)