> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xano.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Direct Database Connector

> Establish a direct connection to your instance's PostgreSQL database

<Note>
  Direct Database Connector is included with the Essential and Pro paid plans. Please visit your Billing page for the most up-to-date pricing for this additional feature.
</Note>

You have the option to connect your Xano instance's PostgreSQL database directly with an external application or service. This can be useful if there is a platform for manipulating your database that you prefer to use over the Xano interface, creating custom backup and restore solutions, or even performing data analytics.

Use care when accessing your database directly. This type of connection removes the normal checks and balances for data validity that using Xano directly provides. It is also instance-wide, and not isolated to a specific workspace/workspaces.

**Proceed with caution.**

## Accessing the Database Connector

You can access your connection details two different ways.

### Through the Instance Selection screen

On your instance selection screen, click the⚙️ icon, and in the panel that opens, choose Database Connector.

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/Fw63xIT7XPJmRjRw/images/direct-database-connector-20260630-101523.png?fit=max&auto=format&n=Fw63xIT7XPJmRjRw&q=85&s=061b609216c572e3752d68f08cd000f1" alt="direct-database-connector-20260630-101523" width="912" height="364" data-path="images/direct-database-connector-20260630-101523.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/Fw63xIT7XPJmRjRw/images/direct-database-connector-20260630-101606.png?fit=max&auto=format&n=Fw63xIT7XPJmRjRw&q=85&s=42cb3cbb0f8fe1a5c08bec187515dcdd" alt="direct-database-connector-20260630-101606" width="554" height="657" data-path="images/direct-database-connector-20260630-101606.png" />
</Frame>

The panel that opens is split into two sections, Details and Settings.

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/Fw63xIT7XPJmRjRw/images/direct-database-connector-20260630-101749.png?fit=max&auto=format&n=Fw63xIT7XPJmRjRw&q=85&s=c38f173f036a4170854c5665cfa93327" alt="direct-database-connector-20260630-101749" width="1020" height="599" data-path="images/direct-database-connector-20260630-101749.png" />
</Frame>

The **Details** panel allows you to retrieve the access information for a direct database connection.

**Database Public IP** is the IP address you'll use to connect to your instance database.

**Database Credentials** provides both *full access* and *read only* credentials. Use the *full access* credentials appropriately and with caution only when you need write access; otherwise, we recommend using *read only* for safety.

You can also regenerate these credentials from here if necessary.

<img src="https://mintcdn.com/xano-997cb9ee/Fw63xIT7XPJmRjRw/images/direct-database-connector-20260630-102016.png?fit=max&auto=format&n=Fw63xIT7XPJmRjRw&q=85&s=188e14a529abae26c44d2b25272cd304" alt="direct-database-connector-20260630-102016" width="484" height="658" data-path="images/direct-database-connector-20260630-102016.png" />

The **Settings** panel allows you to enable and use an allow list, to limit direct database connections to specific IP addresses.

<img src="https://mintcdn.com/xano-997cb9ee/Fw63xIT7XPJmRjRw/images/direct-database-connector-20260630-102039.png?fit=max&auto=format&n=Fw63xIT7XPJmRjRw&q=85&s=f384b591585df8623fcbdaac6d6d689b" alt="direct-database-connector-20260630-102039" width="481" height="184" data-path="images/direct-database-connector-20260630-102039.png" />

<Note>
  Xano does not check these IP address values for validity.
</Note>

### From your Workspace

From anywhere in a workspace, click <span class="ui-bubble"><Icon icon="link" /> Connect this backend</span>. Choose <span class="ui-bubble"><Icon icon="database" /> Database Connections</span> from the left-hand menu, and you'll be presented with access to your database IP, credentials, and IP allowlist. You can review the section above for more details on how these operate.

<img src="https://mintcdn.com/xano-997cb9ee/Fw63xIT7XPJmRjRw/images/direct-database-connector-20260630-102313.png?fit=max&auto=format&n=Fw63xIT7XPJmRjRw&q=85&s=67e536b5132611842c54bad3e996f407" alt="direct-database-connector-20260630-102313" width="933" height="750" data-path="images/direct-database-connector-20260630-102313.png" />

## Establishing a Direct Database Connection

You can use any application you'd like that is capable of connecting to a PostgreSQL database. In this example, we'll be using Navicat.

Select 'Connection' in the top-left, and fill in your credentials and the IP received from Xano.

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/dC3SQWgPCF_-1qn6/images/30e13433-image.jpeg?fit=max&auto=format&n=dC3SQWgPCF_-1qn6&q=85&s=2bc50844c36c42f122c0c0531e4e428c" width="1236" height="878" data-path="images/30e13433-image.jpeg" />
</Frame>

Click 'Save' to save the connection. We can now navigate the PostgreSQL database from Xano using Navicat. We can even add / update data, run queries, etc...

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/_FyaEhYRFYQZinJ0/images/df18d92b-image.jpeg?fit=max&auto=format&n=_FyaEhYRFYQZinJ0&q=85&s=9a7c6b8584f44a3f457c58b1526c8a1a" width="800" height="564" data-path="images/df18d92b-image.jpeg" />
</Frame>

## Table Formats

As of our **1.68 release (5/27/25)**, all new workspaces will default to the standard SQL column format for tables. For all workspaces created prior to that, read below.

Your tables can be created using one of two formats:

* **JSONB format**

  * This creates your tables with two columns:

    * `id` - the ID of the record

    * `jsonb` - contains a JSON representation of the entire record

* **Standard SQL format**

  * This creates a more standard table layout. Instead of a jsonb column, each column is written separately.

If you are using the [Direct Database Connector](/xano-features/instance-settings/direct-database-connector), Standard SQL format is usually recommended.

### Converting Tables from JSONB to standard SQL

<Warning>
  This change is **permanent**. Most users will not need to adjust these settings, and they only impact your experience if you are connecting to your database directly via third-party tools.
</Warning>

<Steps>
  <Step title="Click the settings icon in the upper-right corner to open Settings." />

  <Step title="Scroll down to the Database Preferences section, and check the option to 'Use standard SQL columns for new tables'">
    <Frame>
      <img src="https://mintcdn.com/xano-997cb9ee/Zmn_DUDgqMkazo6J/images/eb6ad281-image.jpeg?fit=max&auto=format&n=Zmn_DUDgqMkazo6J&q=85&s=46618b9fb76997b2da5873a1cd2bb54d" width="689" height="203" data-path="images/eb6ad281-image.jpeg" />
    </Frame>

    This setting must be enabled before you can convert existing tables to the new format.
  </Step>

  <Step title="Convert your table(s) from your workspace settings, or the settings of any table.">
    From the migration panel, select any of the tables you'd like to convert, and confirm your choices. The migration will begin immediately.

    <Frame>
      <img src="https://mintcdn.com/xano-997cb9ee/SGxJ0muPK3um9hNH/images/727090c5-image.jpeg?fit=max&auto=format&n=SGxJ0muPK3um9hNH&q=85&s=b221e9dbfd6e8bb8ab6eba835bd292c8" width="763" height="1415" data-path="images/727090c5-image.jpeg" />
    </Frame>
  </Step>
</Steps>

## Custom SQL Table Names

From your Workspace settings, you can enable **Custom SQL Table Names**.

By default, Xano assigns each table a SQL name in the format mvpw\_ (e.g., mvpw1\_3). This identifier works for direct access, but can be difficult to read or use with direct queries and database tools.

You can replace this with a custom SQL name to make queries more intuitive and improve compatibility with external connectors.

If you change a table's SQL name, be sure to update any queries that reference the old name to avoid breaking functionality.

Once you've enabled **Custom SQL Table Names**, head to any database table's settings, and click Manage next to SQL Table Name.

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/Zmn_DUDgqMkazo6J/images/e3e08966-image.jpeg?fit=max&auto=format&n=Zmn_DUDgqMkazo6J&q=85&s=8b411bca8716c88da4700cee2b8e57fd" width="745" height="188" data-path="images/e3e08966-image.jpeg" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/xano-997cb9ee/pz6e9Ndbn8i3u8Zz/images/65aa79c8-image.jpeg?fit=max&auto=format&n=pz6e9Ndbn8i3u8Zz&q=85&s=dddc2fb2296af151ba47dd06794c7022" width="516" height="784" data-path="images/65aa79c8-image.jpeg" />
</Frame>

* Leave the SQL Table Name field blank to use Xano’s default SQL table name, which follows the format mvpw\<workspaceID>\_\<tableID> (e.g., mvpw1\_3).
* SQL table names must be globally unique across all workspaces. **Hint**: Use the Custom Prefix to ensure uniqueness across workspaces.
* Datasources automatically add a suffix based on their environment. For example, **users** becomes **users\_test** in the test datasource.\* To reuse the same base name across workspaces, use a workspace-specific prefix (e.g., projA\_users, projB\_users).

## What are these extra tables I see when connecting directly?

Xano maintains several database tables behind the scenes to operate your instances, workspace, and application. It should generally not be considered safe to directly modify these tables at any time, and only target tables you've created as a part of your application.

Some of these tables can safely be included in TRUNCATE operations if you wish to perform maintenance outside of the Xano interface.

These tables are:

* `mvp_request` -- contains API request history
* `mvp_function_history` -- contains custom function request history
* `mvp_task_history` -- contains background task run history
* `mvp_tool_history` -- contains API tool request history
* `mvp_trigger_history` -- contains history of trigger executions
* `mvp_middleware_history` -- contains history of middleware executions

<Note>
  We **strongly advise** you to only perform maintenance operations [inside of the Xano interface](the-database/database-performance-and-maintenance) to ensure your access or your application's uptime are not impacted.
</Note>


## Related topics

- [Securing Your App Before Launch](/security/pre-launch-security-checklist.md)
- [Using The Xano Database](/the-database/database-basics/using-the-xano-database.md)
- [Plan Comparison](/troubleshooting-and-support/plan-comparison-refactor.md)
