¿Postgres compartido o dedicado?
Una base de datos compartida es un inquilino en una instancia de Postgres común: se crea rápido y encaja con desarrollo y apps pequeñas, con copias diarias y restauraciones en autoservicio cuando activas las copias. Una base de datos dedicada tiene su propia instancia, CPU, memoria y disco, y siempre tiene copias continuas. Toda base de datos empieza con 10 GiB de almacenamiento; el nivel define cuánto puede crecer.
El motor, la versión, el aislamiento y la región se fijan al crear la base de datos; el nivel, el almacenamiento y el pool de conexiones pueden cambiar después. Hay PostgreSQL 14, 15 y 16.
El almacenamiento de una base de datos cuenta para tu plan: 10 GiB en Starter, 20 GiB en Standard, 50 GiB en Pro y 150 GiB en Scale, más el almacenamiento extra que compres. En Starter, una base de datos compartida reserva los 10 GiB.
| Nivel | Aislamiento | Almacenamiento máximo | Copias y restauración |
|---|---|---|---|
| starter | Compartida por defecto | 10 GiB | Volcado diario cuando lo activas; restauras tú |
| standard | Dedicada | 20 GiB | Siempre activas: copia base semanal más archivado continuo de WAL; restaura Codara bajo petición |
| pro | Dedicada | 100 GiB | Igual que standard |
¿Cómo creas la base de datos y la conectas?
En la consola, abre el lienzo del entorno, añade una base de datos y conéctala a la app. Desde la CLI, créala en el mismo espacio de trabajo, proyecto y entorno que la app y después añade la conexión. Al conectarla se inyectan las variables y la app se reinicia.
codaracloud databases create main-db --engine postgres --tier starter \
--client my-workspace --project shop --env production
codaracloud apps connections add api main-db --client my-workspace
codaracloud apps connections list api --client my-workspacePara conectar una segunda base de datos, como una caché, dale un prefijo con --as CACHE; sus claves empezarán por CACHE_.
| Variable | Para qué sirve |
|---|---|
| DATABASE_URL | Las consultas de tu aplicación. En Postgres compartido pasa por un pool de conexiones. |
| DATABASE_DIRECT_URL | Migraciones y herramientas que necesitan una conexión directa. |
| DATABASE_HOST, _PORT, _NAME, _USER, _PASSWORD | Bibliotecas que quieren los datos por separado. |

¿Cómo la usa tu código?
Lee DATABASE_URL del entorno; nunca escribas las credenciales en el código. Apunta tu herramienta de migraciones (Prisma, Drizzle, Alembic, Django u otras) a DATABASE_DIRECT_URL, que evita el pool de conexiones.
import pg from "pg";
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
const { rows } = await pool.query("select version()");import os
import psycopg
with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
print(conn.execute("select version()").fetchone())Ejecuta las migraciones como comando previo al despliegue de la app, por ejemplo npx prisma migrate deploy, alembic upgrade head o python manage.py migrate. Se ejecuta una vez en la imagen nueva antes de mover el tráfico, y si falla, la versión actual sigue sirviendo.
¿Cómo importas datos existentes o inspeccionas la base de datos?
Abre un túnel local a través de la plataforma y usa psql o tu cliente habitual; no necesitas acceso al clúster. Es también la forma más sencilla de cargar un pg_dump de otro proveedor. Para volcados grandes, las bases de datos Postgres y MariaDB pueden importar un volcado SQL plano desde una URL HTTPS como un job dentro de la plataforma, con la API o las herramientas MCP; pide a tu agente de programación que ejecute databases_import.
# Exporta desde el proveedor anterior
pg_dump --no-owner --no-acl "$OLD_DATABASE_URL" > dump.sql
# Abre un túnel (Ctrl-C para pararlo)
codaracloud databases proxy main-db --client my-workspace --local-port 5433
# En otra terminal: credenciales y después la importación
codaracloud databases connection main-db --client my-workspace --reveal
psql "postgresql://USER:PASSWORD@127.0.0.1:5433/main-db" -f dump.sqlLa consola también tiene un explorador de tablas de solo lectura para Postgres (abre la base de datos y elige Studio). Recorre las filas por páginas; no ejecuta SQL.
¿Cómo funcionan las copias de seguridad y las restauraciones?
Comprueba la protección de cada base de datos en lugar de darla por hecha. Postgres compartido hace un volcado diario cuando activas las copias, y puedes restaurarlo tú. Postgres dedicado siempre tiene copias y no se pueden desactivar; Codara lo restaura bajo petición. En los planes de autoservicio, las copias se conservan hasta 7 días, en otro proveedor.
Una restauración siempre crea una base de datos nueva y nunca sobrescribe la original. Verifica los datos restaurados y después apunta la app a ella. También puedes hacer una copia antes de un cambio arriesgado, una vez por base de datos y día UTC.
codaracloud databases backup main-db --wait --client my-workspace
codaracloud databases restore main-db --from <backup-name> \
--as main-db-recovered --client my-workspace
codaracloud apps connections rm api main-db --client my-workspace
codaracloud apps connections add api main-db-recovered --client my-workspacePreguntas
- ¿Postgres está incluido en el precio de Codara Cloud?
- Sí. Las bases de datos funcionan dentro de la capacidad de tu plan sin coste adicional, y su almacenamiento cuenta para el almacenamiento persistente del plan. No hay una factura aparte por la base de datos.
- ¿Puedo usar una base de datos externa, como Neon o Supabase?
- Sí. Define su URL de conexión como variable de entorno de ejecución de la app. El proveedor externo la factura y hace sus copias según sus propias condiciones.
- ¿Qué otras bases de datos hay?
- MySQL, MariaDB, Redis y MongoDB también son gestionadas. Redis puede ser compartida o dedicada; MySQL, MariaDB y MongoDB solo dedicadas.
