Update to Render
Snapshot Oct 24, 2026 · 12:46 UTC · version 1.0.2
Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.
Instructions updated for render-postgres
Skill instructions — Now says: Before configuring or troubleshooting an internal database connection, read `references/private-networking.md`. Wire apps with Blueprint `fromDatabase` using...
Observed in instructions or declared skills. Runtime behavior has not been tested.
Up to 10 plugins free · no card required.
All fields and original values.
Skill instructions
Sep 30, 2026 · 22:43 UTC
Wire apps with Blueprint `fromDatabase` using `property: connectionString` (or `host`, `port`, `user`, `password`, `database` individually). See **render-blueprints**. Maximum connections depend on **instance RAM** (current-generation pl...
Oct 24, 2026 · 12:46 UTC
Before configuring or troubleshooting an internal database connection, read `references/private-networking.md`. Wire apps with Blueprint `fromDatabase` using `property: connectionString`, `connectionPoolString` when managed PgBouncer is ...
Supporting files
Sep 30, 2026 · 22:43 UTC
[{"relative_path":"references/backup-and-recovery.md","size_in_bytes":2459},{"relative_path":"references/connection-guide.md","size_in_bytes":2718},{"relative_path":"references/performance-tuning.md","size_in_bytes":2260}]
Oct 24, 2026 · 12:46 UTC
[{"relative_path":"references/backup-and-recovery.md","size_in_bytes":2456},{"relative_path":"references/compute-plans.md","size_in_bytes":3080},{"relative_path":"references/connection-guide.md","size_in_bytes":3573},{"relative_path":"re...
Compare saved observations
Download comparison JSONSKILL.md text changes
− removed · + added
--- before +++ after @@ -32,6 +32,8 @@ For deploy flows and Blueprint basics, see **render-deploy** and **render-blueprints**. For private networking between services, see **render-networking**. For env var patterns, see **render-env-vars**. +Before configuring or troubleshooting an internal database connection, read `references/private-networking.md`. + ## Connection Patterns Render exposes **two connection URLs** for the same logical database: @@ -54,7 +56,7 @@ - **Immutable after creation**: `databaseName`, database **user**, **region**, **PostgreSQL major version**. Plan these before create; changing them requires a new database and migration. - **Storage size**: **1 GB** or **multiples of 5 GB** when provisioning. -Wire apps with Blueprint `fromDatabase` using `property: connectionString` (or `host`, `port`, `user`, `password`, `database` individually). See **render-blueprints**. +Wire apps with Blueprint `fromDatabase` using `property: connectionString`, `connectionPoolString` when managed PgBouncer is enabled, or `host`, `port`, `user`, `password`, and `database` individually. See **render-blueprints**. ### Multiple logical databases @@ -71,30 +73,13 @@ ## Connection Limits -Maximum connections depend on **instance RAM** (current-generation plans): - -| RAM | Max connections (typical) | -|-----|---------------------------| -| Under 8 GB | 100 | -| 8 GB | 200 | -| 16 GB | 300 | -| 32 GB and above | 500 | - -**Legacy** database plans may have **lower** limits; confirm in the Dashboard or API for the specific plan. - -Render does **not** provide a built-in pooler; use **application-side pooling** (framework pools, PgBouncer, pgpool, etc.). Limits are **hard**—exhausting them causes connection errors. More detail: `references/connection-guide.md` and `references/performance-tuning.md`. - -## High Availability +Connection limits depend on the database's compute plan. Use `references/compute-plans.md` to fetch the current Postgres plan catalog and connection limits instead of relying on a memorized table. -**High availability (HA)** is available when: +Render provides integrated **PgBouncer** connection pooling for paid Postgres instances. Enable it with `connectionPool: pgbouncer` in a Blueprint, then connect clients with the database's `connectionPoolString`. Keep application pool sizes aligned with the database connection limit; clients that require session-level state or dedicated long-lived connections must use the direct connection string. Enabling the managed pool restarts the database and causes a few minutes of unavailability. More detail: `references/connection-guide.md` and `references/performance-tuning.md`. -- Workspace is **Professional** or higher, **and** -- Database plan is **Pro** or higher, **and** -- **PostgreSQL 13+** +## High Availability and Compute Plans -**Instance type changes** cause **brief downtime**. With HA, downtime is typically **less** than **without HA** (often on the order of **minutes** without HA—exact duration depends on plan and operation). - -**One-way migration off legacy types**: After moving to current-generation instance types, you **cannot** move back to **legacy** instance types. +HA eligibility and plan-change behavior depend on the Postgres compute plan and version. See `references/compute-plans.md` before recommending a plan or changing an existing database. ## Read Replicas @@ -130,6 +115,8 @@ | Document | Contents | |----------|----------| +| `references/compute-plans.md` | Current Postgres Plan IDs, connection limits, downtime, HA, and legacy-plan migration | +| `references/private-networking.md` | Current private-network scope, internal addressing, isolation, and troubleshooting | | `references/connection-guide.md` | Internal vs external URLs, SSL, allow list, Blueprint wiring, pooling, multi-database URLs, troubleshooting | | `references/backup-and-recovery.md` | Snapshots, PITR, `pg_dump` / `pg_restore`, restore flows, deletion, cross-region | | `references/performance-tuning.md` | `pg_stat_statements`, indexes, bloat, `EXPLAIN ANALYZE`, metrics, scaling | @@ -140,3 +127,16 @@ - **render-blueprints** — `databases`, `fromDatabase`, `readReplicas`, immutable fields - **render-networking** — Private services, regions, and how traffic routes between resources - **render-env-vars** — Storing `DATABASE_URL` and secret wiring patterns + +<!-- shared:documentation-retrieval --> +## Current documentation retrieval + +Whenever this skill directs you to consult current Render documentation: + +1. Retrieve the linked Markdown document directly with an available URL-fetching tool or HTTP client, such as `curl`. Do not substitute web-search summaries for the document. +2. Confirm that retrieval succeeded and returned the expected document, then read its contents. Saving a file or printing its path is not sufficient. +3. If the request fails or your tool cannot read the Markdown response, open and read the linked HTML version instead. +4. If neither version can be retrieved, disclose that the current reference is unavailable and follow any topic-specific fallback in the skill. Use bundled guidance only for stable constraints, and do not guess at changeable platform details. + +When a task requires multiple references, apply this workflow to each one and distinguish the documents you verified from those that remain unavailable. +<!-- /shared:documentation-retrieval -->
Full technical diff · 2 changed fields
changed /included_files
[
{
"relative_path": "references/backup-and-recovery.md",
"size_in_bytes": 2459
},
{
"relative_path": "references/connection-guide.md",
"size_in_bytes": 2718
},
{
"relative_path": "references/performance-tuning.md",
"size_in_bytes": 2260
}
][
{
"relative_path": "references/backup-and-recovery.md",
"size_in_bytes": 2456
},
{
"relative_path": "references/compute-plans.md",
"size_in_bytes": 3080
},
{
"relative_path": "references/connection-guide.md",
"size_in_bytes": 3573
},
{
"relative_path": "references/performance-tuning.md",
"size_in_bytes": 2252
},
{
"relative_path": "references/private-networking.md",
"size_in_bytes": 4390
}
]changed /skill_md_contents
"---\nname: render-postgres\ndescription: >-\n Sets up and optimizes Managed PostgreSQL on Render—connection strings\n (internal vs external), creation constraints, storage autoscaling, connection\n limits, high availability, read replicas, backups, and MCP inspection. Use\n when the user\n mentions Postgres, PostgreSQL, Render database, connection string, DATABASE_URL,\n backups, snapshots, replicas, HA, disk storage, connection pooling, or\n troubleshooting DB connectivity.\nlicense: MIT\ncompatibility: Render Managed Postgres (any plan)\nmetadata:\n author: Render\n version: \"1.0.0\"\n category: data\n---\n\n# Render Managed PostgreSQL\n\nThis skill covers **Managed Postgres on Render**: how to connect, what cannot change after creation, storage behavior, limits, HA, replicas, and safe deletion. Deep dives live under `references/`.\n\n## When to Use\n\nApply this skill when the user:\n\n- Configures **Postgres** for an app on Render (URLs, TLS, pooling)\n- Creates or changes a **database**, **plan**, **disk**, or **replicas**\n- Asks about **backups**, **PITR**, **exports**, or **deleting** a database\n- Hits **connection limits**, **SSL errors**, or **latency** between services and DB\n- Authors **Blueprint** `databases` / `readReplicas` or wires `fromDatabase`\n\nFor deploy flows and Blueprint basics, see **render-deploy** and **render-blueprints**. For private networking between services, see **render-networking**. For env var patterns, see **render-env-vars**.\n\n## Connection Patterns\n\nRender exposes **two connection URLs** for the same logical database:\n\n| URL | Use when | TLS |\n|-----|----------|-----|\n| **Internal** | App or service on Render in the **same region and workspace** | Not required (private network) |\n| **External** | Local development, CI, or tools outside Render | **Required** (TLS 1.2+) |\n\n**Always prefer the internal URL for Render-hosted apps** so traffic stays on Render’s network and avoids extra latency and public egress patterns.\n\n- **IP allow list** applies to **external** access only. Same-region Render services use the **internal** URL regardless of the allow list.\n- **External** clients must use TLS; misconfigured clients often show SSL handshake or `sslmode` errors.\n\nURL formats, Dashboard locations, Blueprint `fromDatabase`, pooling, and common mistakes: `references/connection-guide.md`.\n\n## Creation and Setup\n\n- **Instance display name**: Can be changed later (where the Dashboard allows renaming the resource).\n- **Immutable after creation**: `databaseName`, database **user**, **region**, **PostgreSQL major version**. Plan these before create; changing them requires a new database and migration.\n- **Storage size**: **1 GB** or **multiples of 5 GB** when provisioning.\n\nWire apps with Blueprint `fromDatabase` using `property: connectionString` (or `host`, `port`, `user`, `password`, `database` individually). See **render-blueprints**.\n\n### Multiple logical databases\n\nYou can run `CREATE DATABASE new_db;` in `psql` on the same instance. **Host, port, and credentials stay the same**; only the **database name in the URL path** changes (e.g. `.../myapp` vs `.../new_db`).\n\n## Storage Management\n\n- **Autoscaling**: When disk use reaches roughly **~90%**, Render can grow storage by about **~50%**, rounded up to the **next 5 GB multiple**, up to **16 TB** max.\n- **Cannot shrink** disk after an increase.\n- **Cooldown**: After a storage increase, you **cannot increase again for 12 hours**.\n- **Over limit / unhealthy**: If disk is over the configured limit, the database can become **unhealthy**; Render may **suspend** it until resolved.\n\nMonitor disk and plan exports or cleanup before you hit hard limits. Backup and restore options: `references/backup-and-recovery.md`.\n\n## Connection Limits\n\nMaximum connections depend on **instance RAM** (current-generation plans):\n\n| RAM | Max connections (typical) |\n|-----|---------------------------|\n| Under 8 GB | 100 |\n| 8 GB | 200 |\n| 16 GB | 300 |\n| 32 GB and above | 500 |\n\n**Legacy** database plans may have **lower** limits; confirm in the Dashboard or API for the specific plan.\n\nRender does **not** provide a built-in pooler; use **application-side pooling** (framework pools, PgBouncer, pgpool, etc.). Limits are **hard**—exhausting them causes connection errors. More detail: `references/connection-guide.md` and `references/performance-tuning.md`.\n\n## High Availability\n\n**High availability (HA)** is available when:\n\n- Workspace is **Professional** or higher, **and**\n- Database plan is **Pro** or higher, **and**\n- **PostgreSQL 13+**\n\n**Instance type changes** cause **brief downtime**. With HA, downtime is typically **less** than **without HA** (often on the order of **minutes** without HA—exact duration depends on plan and operation).\n\n**One-way migration off legacy types**: After moving to current-generation instance types, you **cannot** move back to **legacy** instance types.\n\n## Read Replicas\n\n- Up to **5 read replicas** per database.\n- In Blueprints, declare replicas under **`readReplicas`** as a **list of names**.\n- **CAUTION — declarative sync**:\n - An **empty** `readReplicas` list can **destroy all** existing replicas.\n - **Name mismatches** between the Blueprint and live replicas can **create** new replicas and **remove** replicas whose names are no longer listed.\n\nAlways treat `readReplicas` as **authoritative** desired state, not additive-only.\n\n## Useful MCP Commands\n\nUse the Render MCP tools (names may vary slightly by integration; align with your server’s tool list):\n\n| Goal | Tool / pattern |\n|------|----------------|\n| List databases | `list_postgres_instances` |\n| Instance details | `get_postgres` with `postgresId` |\n| Read-only SQL | `query_render_postgres` with `postgresId` and `sql` |\n| Connection load | `get_metrics` with `resourceId` (Postgres ID) and `metricTypes: [\"active_connections\"]` |\n\n`query_render_postgres` runs in a **read-only** transaction and opens a **new connection per query**—do not use it as a substitute for app pooling.\n\nShorthand (same tools): `list_postgres_instances()`, `get_postgres(postgresId)`, `query_render_postgres(postgresId, sql)`, `get_metrics(resourceId, metricTypes: [\"active_connections\"])`.\n\n## Deleting and Data Safety\n\n- **Backups and snapshots are not retained** after you **delete** the database. **Export first** (`pg_dump`, Dashboard restore workflow from existing backups, etc.).\n- Before destructive actions, confirm retention and recovery paths in `references/backup-and-recovery.md`.\n\n## References\n\n| Document | Contents |\n|----------|----------|\n| `references/connection-guide.md` | Internal vs external URLs, SSL, allow list, Blueprint wiring, pooling, multi-database URLs, troubleshooting |\n| `references/backup-and-recovery.md` | Snapshots, PITR, `pg_dump` / `pg_restore`, restore flows, deletion, cross-region |\n| `references/performance-tuning.md` | `pg_stat_statements`, indexes, bloat, `EXPLAIN ANALYZE`, metrics, scaling |\n\n## Related Skills\n\n- **render-deploy** — End-to-end deploy, services, and MCP/Dashboard flows\n- **render-blueprints** — `databases`, `fromDatabase`, `readReplicas`, immutable fields\n- **render-networking** — Private services, regions, and how traffic routes between resources\n- **render-env-vars** — Storing `DATABASE_URL` and secret wiring patterns\n"
"---\nname: render-postgres\ndescription: >-\n Sets up and optimizes Managed PostgreSQL on Render—connection strings\n (internal vs external), creation constraints, storage autoscaling, connection\n limits, high availability, read replicas, backups, and MCP inspection. Use\n when the user\n mentions Postgres, PostgreSQL, Render database, connection string, DATABASE_URL,\n backups, snapshots, replicas, HA, disk storage, connection pooling, or\n troubleshooting DB connectivity.\nlicense: MIT\ncompatibility: Render Managed Postgres (any plan)\nmetadata:\n author: Render\n version: \"1.0.0\"\n category: data\n---\n\n# Render Managed PostgreSQL\n\nThis skill covers **Managed Postgres on Render**: how to connect, what cannot change after creation, storage behavior, limits, HA, replicas, and safe deletion. Deep dives live under `references/`.\n\n## When to Use\n\nApply this skill when the user:\n\n- Configures **Postgres** for an app on Render (URLs, TLS, pooling)\n- Creates or changes a **database**, **plan**, **disk**, or **replicas**\n- Asks about **backups**, **PITR**, **exports**, or **deleting** a database\n- Hits **connection limits**, **SSL errors**, or **latency** between services and DB\n- Authors **Blueprint** `databases` / `readReplicas` or wires `fromDatabase`\n\nFor deploy flows and Blueprint basics, see **render-deploy** and **render-blueprints**. For private networking between services, see **render-networking**. For env var patterns, see **render-env-vars**.\n\nBefore configuring or troubleshooting an internal database connection, read `references/private-networking.md`.\n\n## Connection Patterns\n\nRender exposes **two connection URLs** for the same logical database:\n\n| URL | Use when | TLS |\n|-----|----------|-----|\n| **Internal** | App or service on Render in the **same region and workspace** | Not required (private network) |\n| **External** | Local development, CI, or tools outside Render | **Required** (TLS 1.2+) |\n\n**Always prefer the internal URL for Render-hosted apps** so traffic stays on Render’s network and avoids extra latency and public egress patterns.\n\n- **IP allow list** applies to **external** access only. Same-region Render services use the **internal** URL regardless of the allow list.\n- **External** clients must use TLS; misconfigured clients often show SSL handshake or `sslmode` errors.\n\nURL formats, Dashboard locations, Blueprint `fromDatabase`, pooling, and common mistakes: `references/connection-guide.md`.\n\n## Creation and Setup\n\n- **Instance display name**: Can be changed later (where the Dashboard allows renaming the resource).\n- **Immutable after creation**: `databaseName`, database **user**, **region**, **PostgreSQL major version**. Plan these before create; changing them requires a new database and migration.\n- **Storage size**: **1 GB** or **multiples of 5 GB** when provisioning.\n\nWire apps with Blueprint `fromDatabase` using `property: connectionString`, `connectionPoolString` when managed PgBouncer is enabled, or `host`, `port`, `user`, `password`, and `database` individually. See **render-blueprints**.\n\n### Multiple logical databases\n\nYou can run `CREATE DATABASE new_db;` in `psql` on the same instance. **Host, port, and credentials stay the same**; only the **database name in the URL path** changes (e.g. `.../myapp` vs `.../new_db`).\n\n## Storage Management\n\n- **Autoscaling**: When disk use reaches roughly **~90%**, Render can grow storage by about **~50%**, rounded up to the **next 5 GB multiple**, up to **16 TB** max.\n- **Cannot shrink** disk after an increase.\n- **Cooldown**: After a storage increase, you **cannot increase again for 12 hours**.\n- **Over limit / unhealthy**: If disk is over the configured limit, the database can become **unhealthy**; Render may **suspend** it until resolved.\n\nMonitor disk and plan exports or cleanup before you hit hard limits. Backup and restore options: `references/backup-and-recovery.md`.\n\n## Connection Limits\n\nConnection limits depend on the database's compute plan. Use `references/compute-plans.md` to fetch the current Postgres plan catalog and connection limits instead of relying on a memorized table.\n\nRender provides integrated **PgBouncer** connection pooling for paid Postgres instances. Enable it with `connectionPool: pgbouncer` in a Blueprint, then connect clients with the database's `connectionPoolString`. Keep application pool sizes aligned with the database connection limit; clients that require session-level state or dedicated long-lived connections must use the direct connection string. Enabling the managed pool restarts the database and causes a few minutes of unavailability. More detail: `references/connection-guide.md` and `references/performance-tuning.md`.\n\n## High Availability and Compute Plans\n\nHA eligibility and plan-change behavior depend on the Postgres compute plan and version. See `references/compute-plans.md` before recommending a plan or changing an existing database.\n\n## Read Replicas\n\n- Up to **5 read replicas** per database.\n- In Blueprints, declare replicas under **`readReplicas`** as a **list of names**.\n- **CAUTION — declarative sync**:\n - An **empty** `readReplicas` list can **destroy all** existing replicas.\n - **Name mismatches** between the Blueprint and live replicas can **create** new replicas and **remove** replicas whose names are no longer listed.\n\nAlways treat `readReplicas` as **authoritative** desired state, not additive-only.\n\n## Useful MCP Commands\n\nUse the Render MCP tools (names may vary slightly by integration; align with your server’s tool list):\n\n| Goal | Tool / pattern |\n|------|----------------|\n| List databases | `list_postgres_instances` |\n| Instance details | `get_postgres` with `postgresId` |\n| Read-only SQL | `query_render_postgres` with `postgresId` and `sql` |\n| Connection load | `get_metrics` with `resourceId` (Postgres ID) and `metricTypes: [\"active_connections\"]` |\n\n`query_render_postgres` runs in a **read-only** transaction and opens a **new connection per query**—do not use it as a substitute for app pooling.\n\nShorthand (same tools): `list_postgres_instances()`, `get_postgres(postgresId)`, `query_render_postgres(postgresId, sql)`, `get_metrics(resourceId, metricTypes: [\"active_connections\"])`.\n\n## Deleting and Data Safety\n\n- **Backups and snapshots are not retained** after you **delete** the database. **Export first** (`pg_dump`, Dashboard restore workflow from existing backups, etc.).\n- Before destructive actions, confirm retention and recovery paths in `references/backup-and-recovery.md`.\n\n## References\n\n| Document | Contents |\n|----------|----------|\n| `references/compute-plans.md` | Current Postgres Plan IDs, connection limits, downtime, HA, and legacy-plan migration |\n| `references/private-networking.md` | Current private-network scope, internal addressing, isolation, and troubleshooting |\n| `references/connection-guide.md` | Internal vs external URLs, SSL, allow list, Blueprint wiring, pooling, multi-database URLs, troubleshooting |\n| `references/backup-and-recovery.md` | Snapshots, PITR, `pg_dump` / `pg_restore`, restore flows, deletion, cross-region |\n| `references/performance-tuning.md` | `pg_stat_statements`, indexes, bloat, `EXPLAIN ANALYZE`, metrics, scaling |\n\n## Related Skills\n\n- **render-deploy** — End-to-end deploy, services, and MCP/Dashboard flows\n- **render-blueprints** — `databases`, `fromDatabase`, `readReplicas`, immutable fields\n- **render-networking** — Private services, regions, and how traffic routes between resources\n- **render-env-vars** — Storing `DATABASE_URL` and secret wiring patterns\n\n<!-- shared:documentation-retrieval -->\n## Current documentation retrieval\n\nWhenever this skill directs you to consult current Render documentation:\n\n1. Retrieve the linked Markdown document directly with an available URL-fetching tool or HTTP client, such as `curl`. Do not substitute web-search summaries for the document.\n2. Confirm that retrieval succeeded and returned the expected document, then read its contents. Saving a file or printing its path is not sufficient.\n3. If the request fails or your tool cannot read the Markdown response, open and read the linked HTML version instead.\n4. If neither version can be retrieved, disclose that the current reference is unavailable and follow any topic-specific fallback in the skill. Use bundled guidance only for stable constraints, and do not guess at changeable platform details.\n\nWhen a task requires multiple references, apply this workflow to each one and distinguish the documents you verified from those that remain unavailable.\n<!-- /shared:documentation-retrieval -->\n"
Full snapshot data
{
"description": "Sets up and optimizes Managed PostgreSQL on Render—connection strings (internal vs external), creation constraints, storage autoscaling, connection limits, high availability, read replicas, backups, and MCP inspection. Use when the user mentions Postgres, PostgreSQL, Render database, connection string, DATABASE_URL, backups, snapshots, replicas, HA, disk storage, connection pooling, or troubleshooting DB connectivity.",
"included_files": [
{
"relative_path": "references/backup-and-recovery.md",
"size_in_bytes": 2456
},
{
"relative_path": "references/compute-plans.md",
"size_in_bytes": 3080
},
{
"relative_path": "references/connection-guide.md",
"size_in_bytes": 3573
},
{
"relative_path": "references/performance-tuning.md",
"size_in_bytes": 2252
},
{
"relative_path": "references/private-networking.md",
"size_in_bytes": 4390
}
],
"name": "render-postgres",
"skill_md_contents": "---\nname: render-postgres\ndescription: >-\n Sets up and optimizes Managed PostgreSQL on Render—connection strings\n (internal vs external), creation constraints, storage autoscaling, connection\n limits, high availability, read replicas, backups, and MCP inspection. Use\n when the user\n mentions Postgres, PostgreSQL, Render database, connection string, DATABASE_URL,\n backups, snapshots, replicas, HA, disk storage, connection pooling, or\n troubleshooting DB connectivity.\nlicense: MIT\ncompatibility: Render Managed Postgres (any plan)\nmetadata:\n author: Render\n version: \"1.0.0\"\n category: data\n---\n\n# Render Managed PostgreSQL\n\nThis skill covers **Managed Postgres on Render**: how to connect, what cannot change after creation, storage behavior, limits, HA, replicas, and safe deletion. Deep dives live under `references/`.\n\n## When to Use\n\nApply this skill when the user:\n\n- Configures **Postgres** for an app on Render (URLs, TLS, pooling)\n- Creates or changes a **database**, **plan**, **disk**, or **replicas**\n- Asks about **backups**, **PITR**, **exports**, or **deleting** a database\n- Hits **connection limits**, **SSL errors**, or **latency** between services and DB\n- Authors **Blueprint** `databases` / `readReplicas` or wires `fromDatabase`\n\nFor deploy flows and Blueprint basics, see **render-deploy** and **render-blueprints**. For private networking between services, see **render-networking**. For env var patterns, see **render-env-vars**.\n\nBefore configuring or troubleshooting an internal database connection, read `references/private-networking.md`.\n\n## Connection Patterns\n\nRender exposes **two connection URLs** for the same logical database:\n\n| URL | Use when | TLS |\n|-----|----------|-----|\n| **Internal** | App or service on Render in the **same region and workspace** | Not required (private network) |\n| **External** | Local development, CI, or tools outside Render | **Required** (TLS 1.2+) |\n\n**Always prefer the internal URL for Render-hosted apps** so traffic stays on Render’s network and avoids extra latency and public egress patterns.\n\n- **IP allow list** applies to **external** access only. Same-region Render services use the **internal** URL regardless of the allow list.\n- **External** clients must use TLS; misconfigured clients often show SSL handshake or `sslmode` errors.\n\nURL formats, Dashboard locations, Blueprint `fromDatabase`, pooling, and common mistakes: `references/connection-guide.md`.\n\n## Creation and Setup\n\n- **Instance display name**: Can be changed later (where the Dashboard allows renaming the resource).\n- **Immutable after creation**: `databaseName`, database **user**, **region**, **PostgreSQL major version**. Plan these before create; changing them requires a new database and migration.\n- **Storage size**: **1 GB** or **multiples of 5 GB** when provisioning.\n\nWire apps with Blueprint `fromDatabase` using `property: connectionString`, `connectionPoolString` when managed PgBouncer is enabled, or `host`, `port`, `user`, `password`, and `database` individually. See **render-blueprints**.\n\n### Multiple logical databases\n\nYou can run `CREATE DATABASE new_db;` in `psql` on the same instance. **Host, port, and credentials stay the same**; only the **database name in the URL path** changes (e.g. `.../myapp` vs `.../new_db`).\n\n## Storage Management\n\n- **Autoscaling**: When disk use reaches roughly **~90%**, Render can grow storage by about **~50%**, rounded up to the **next 5 GB multiple**, up to **16 TB** max.\n- **Cannot shrink** disk after an increase.\n- **Cooldown**: After a storage increase, you **cannot increase again for 12 hours**.\n- **Over limit / unhealthy**: If disk is over the configured limit, the database can become **unhealthy**; Render may **suspend** it until resolved.\n\nMonitor disk and plan exports or cleanup before you hit hard limits. Backup and restore options: `references/backup-and-recovery.md`.\n\n## Connection Limits\n\nConnection limits depend on the database's compute plan. Use `references/compute-plans.md` to fetch the current Postgres plan catalog and connection limits instead of relying on a memorized table.\n\nRender provides integrated **PgBouncer** connection pooling for paid Postgres instances. Enable it with `connectionPool: pgbouncer` in a Blueprint, then connect clients with the database's `connectionPoolString`. Keep application pool sizes aligned with the database connection limit; clients that require session-level state or dedicated long-lived connections must use the direct connection string. Enabling the managed pool restarts the database and causes a few minutes of unavailability. More detail: `references/connection-guide.md` and `references/performance-tuning.md`.\n\n## High Availability and Compute Plans\n\nHA eligibility and plan-change behavior depend on the Postgres compute plan and version. See `references/compute-plans.md` before recommending a plan or changing an existing database.\n\n## Read Replicas\n\n- Up to **5 read replicas** per database.\n- In Blueprints, declare replicas under **`readReplicas`** as a **list of names**.\n- **CAUTION — declarative sync**:\n - An **empty** `readReplicas` list can **destroy all** existing replicas.\n - **Name mismatches** between the Blueprint and live replicas can **create** new replicas and **remove** replicas whose names are no longer listed.\n\nAlways treat `readReplicas` as **authoritative** desired state, not additive-only.\n\n## Useful MCP Commands\n\nUse the Render MCP tools (names may vary slightly by integration; align with your server’s tool list):\n\n| Goal | Tool / pattern |\n|------|----------------|\n| List databases | `list_postgres_instances` |\n| Instance details | `get_postgres` with `postgresId` |\n| Read-only SQL | `query_render_postgres` with `postgresId` and `sql` |\n| Connection load | `get_metrics` with `resourceId` (Postgres ID) and `metricTypes: [\"active_connections\"]` |\n\n`query_render_postgres` runs in a **read-only** transaction and opens a **new connection per query**—do not use it as a substitute for app pooling.\n\nShorthand (same tools): `list_postgres_instances()`, `get_postgres(postgresId)`, `query_render_postgres(postgresId, sql)`, `get_metrics(resourceId, metricTypes: [\"active_connections\"])`.\n\n## Deleting and Data Safety\n\n- **Backups and snapshots are not retained** after you **delete** the database. **Export first** (`pg_dump`, Dashboard restore workflow from existing backups, etc.).\n- Before destructive actions, confirm retention and recovery paths in `references/backup-and-recovery.md`.\n\n## References\n\n| Document | Contents |\n|----------|----------|\n| `references/compute-plans.md` | Current Postgres Plan IDs, connection limits, downtime, HA, and legacy-plan migration |\n| `references/private-networking.md` | Current private-network scope, internal addressing, isolation, and troubleshooting |\n| `references/connection-guide.md` | Internal vs external URLs, SSL, allow list, Blueprint wiring, pooling, multi-database URLs, troubleshooting |\n| `references/backup-and-recovery.md` | Snapshots, PITR, `pg_dump` / `pg_restore`, restore flows, deletion, cross-region |\n| `references/performance-tuning.md` | `pg_stat_statements`, indexes, bloat, `EXPLAIN ANALYZE`, metrics, scaling |\n\n## Related Skills\n\n- **render-deploy** — End-to-end deploy, services, and MCP/Dashboard flows\n- **render-blueprints** — `databases`, `fromDatabase`, `readReplicas`, immutable fields\n- **render-networking** — Private services, regions, and how traffic routes between resources\n- **render-env-vars** — Storing `DATABASE_URL` and secret wiring patterns\n\n<!-- shared:documentation-retrieval -->\n## Current documentation retrieval\n\nWhenever this skill directs you to consult current Render documentation:\n\n1. Retrieve the linked Markdown document directly with an available URL-fetching tool or HTTP client, such as `curl`. Do not substitute web-search summaries for the document.\n2. Confirm that retrieval succeeded and returned the expected document, then read its contents. Saving a file or printing its path is not sufficient.\n3. If the request fails or your tool cannot read the Markdown response, open and read the linked HTML version instead.\n4. If neither version can be retrieved, disclose that the current reference is unavailable and follow any topic-specific fallback in the skill. Use bundled guidance only for stable constraints, and do not guess at changeable platform details.\n\nWhen a task requires multiple references, apply this workflow to each one and distinguish the documents you verified from those that remain unavailable.\n<!-- /shared:documentation-retrieval -->\n"
}SHA-256 of public snapshot: 2f2a77defaa8eae46899924947c60be0eaacaa1f35795155476c7a34a9cd1639