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

# Render

> Connect your Render managed PostgreSQL database to VexiData.

## Prerequisites

* A [Render](https://render.com) account with a PostgreSQL database
* A [VexiData](https://vexidata.com) account

## Internal vs external connections

Render provides two connection URLs for each database:

|                     | External URL                 | Internal URL                            |
| ------------------- | ---------------------------- | --------------------------------------- |
| **Host**            | `*.render-postgres.com`      | `*.render.internal`                     |
| **Accessible from** | Anywhere on the internet     | Only Render services in the same region |
| **Use for**         | External tools like VexiData | Your Render-hosted applications         |

<Note>
  VexiData requires the **External URL**. The internal URL (`.render.internal`) is only reachable from services running inside Render's network.
</Note>

## Connect Render to VexiData

<Steps>
  <Step title="Get your Render connection details">
    1. Log in to your [Render Dashboard](https://dashboard.render.com)
    2. Click **PostgreSQL** in the left sidebar
    3. Select the database you want to connect
    4. On the database's **Info** page, scroll to the **Connections** section
    5. Find the **External Database URL** and copy the individual parameters:

    | Parameter    | Example                                   |
    | ------------ | ----------------------------------------- |
    | **Host**     | `dpg-abc123-a.oregon-postgres.render.com` |
    | **Port**     | `5432`                                    |
    | **Database** | `myapp_db`                                |
    | **Username** | `myapp_db_user`                           |
    | **Password** | Your database password                    |

    <Tip>
      You can also copy the full **External Database URL** and extract the parameters from it. The format is: `postgresql://USER:PASSWORD@HOST:5432/DATABASE`
    </Tip>
  </Step>

  <Step title="Add the connection in VexiData">
    1. Go to [Data Sources](https://vexidata.com/data-sources) in VexiData
    2. Click **PostgreSQL** to open the connection form
    3. Fill in the details:

    | Field            | Value                                                                    |
    | ---------------- | ------------------------------------------------------------------------ |
    | **Display Name** | A name to identify this connection (e.g., "Render Production")           |
    | **Host**         | Your external hostname (e.g., `dpg-abc123-a.oregon-postgres.render.com`) |
    | **Port**         | `5432`                                                                   |
    | **Database**     | Your database name                                                       |
    | **Schema**       | `public` (default — change if your tables are in a different schema)     |
    | **Username**     | Your database username                                                   |
    | **Password**     | Your database password                                                   |
  </Step>

  <Step title="Test and save">
    Click **Test & Save Connection**. VexiData will verify it can reach your database. Once connected, your schema will be analyzed automatically.
  </Step>
</Steps>

## Connection pooling with PgBouncer

If your database is approaching its connection limit, Render offers built-in PgBouncer connection pooling. When enabled, you'll get a separate pooler connection string.

To use the pooler with VexiData, copy the **External URL** from the connection pool (not the database directly) and use those credentials in VexiData instead.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Connection timed out">
    * Make sure you're using the **External** connection URL, not the Internal one. Internal URLs (`.render.internal`) are only accessible from within Render's network
    * Check that your database is in an **Available** state in the Render dashboard
    * Render free-tier databases expire after 90 days — verify your database hasn't been deleted
  </Accordion>

  <Accordion title="Authentication failed">
    * Double-check your username and password from the database's **Info** page in Render
    * Render generates credentials automatically — make sure you copied them from the dashboard, not from your application's environment variables (which may be outdated)
  </Accordion>

  <Accordion title="No tables visible after connecting">
    * Confirm your tables are in the `public` schema. If they're in a custom schema, update the **Schema** field in VexiData
    * Check that your database user has `SELECT` permissions on the tables you want to query
  </Accordion>

  <Accordion title="Too many connections">
    * Render databases have connection limits based on your plan. Consider enabling PgBouncer connection pooling in your Render database settings
    * Use the pooler's external URL in VexiData instead of the direct database URL
  </Accordion>
</AccordionGroup>
