> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Preguntas frecuentes sobre Managed Postgres

> Preguntas frecuentes sobre ClickHouse Managed Postgres

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta feature. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Learn more.
                    </a>
                </u>
            </span>
        </div>;
};

<div id="monitoring-and-metrics">
  ## Monitoreo y métricas
</div>

<div id="metrics-access">
  ### ¿Cómo puedo acceder a las métricas de mi instancia de Managed Postgres?
</div>

Puede supervisar el uso de CPU, memoria, IOPS y almacenamiento directamente desde la consola de ClickHouse Cloud, en la pestaña **monitoreo** de su instancia de Managed Postgres.

<Note>
  Query Performance Insights, con análisis detallado de consultas, estará disponible próximamente.
</Note>

<div id="backup-and-recovery">
  ## Copia de seguridad y recuperación
</div>

<div id="backup-options">
  ### ¿Qué opciones de copia de seguridad están disponibles?
</div>

Managed Postgres incluye copias de seguridad automáticas diarias con archivado continuo de WAL, lo que permite la recuperación a un momento dado en cualquier instante dentro de una ventana de retención de 7 días. Las copias de seguridad se almacenan en S3.

Para obtener todos los detalles sobre la frecuencia de las copias de seguridad, la retención y cómo realizar una recuperación a un momento dado, consulta la documentación de [Copias de seguridad y restauración](/es/products/managed-postgres/backup-and-restore).

<div id="infrastructure-and-automation">
  ## Infraestructura y automatización
</div>

<div id="terraform-support">
  ### ¿Hay soporte para Terraform disponible para Managed Postgres?
</div>

Actualmente, no hay soporte para Terraform para Managed Postgres. Recomendamos usar la consola de ClickHouse Cloud para crear y gestionar sus instancias.

<div id="extensions-and-configuration">
  ## Extensiones y configuración
</div>

<div id="extensions-supported">
  ### ¿Qué extensiones son compatibles?
</div>

Managed Postgres incluye más de 100 extensiones de PostgreSQL, entre ellas algunas tan populares como PostGIS, pgvector, pg\_cron y muchas más. Para consultar la lista completa de extensiones disponibles y las instrucciones de instalación, consulta la documentación de [Extensiones](/es/products/managed-postgres/extensions).

<div id="config-customization">
  ### ¿Puedo personalizar los parámetros de configuración de PostgreSQL?
</div>

Sí, puedes modificar los parámetros de configuración de PostgreSQL y PgBouncer desde la pestaña **Settings** de la consola. Para obtener más información sobre los parámetros disponibles y cómo cambiarlos, consulta la documentación de [Settings](/es/products/managed-postgres/settings).

<Tip>
  Si necesitas un parámetro que actualmente no está disponible, ponte en contacto con [soporte](https://clickhouse.com/support/program) para solicitarlo.
</Tip>

<div id="connection-pooling">
  ## Pool de conexiones
</div>

<div id="prepared-statement-errors">
  ### ¿Por qué veo errores de `prepared statement does not exist` al usar PgBouncer?
</div>

Managed Postgres ejecuta PgBouncer en modo de **pooling por transacciones**. En este modo, una conexión backend de Postgres solo se asigna al cliente durante una única transacción y luego se devuelve al pool; la siguiente transacción del mismo cliente puede terminar en un backend distinto.

Esto rompe las **sentencias preparadas del lado del servidor**, ya que están vinculadas al backend concreto que ejecutó `PREPARE` (o `Parse` en la consulta extendida). Cuando el `Execute` correspondiente termina en un backend distinto, aparecen errores como:

```text theme={null}
ERROR:  prepared statement "..." does not exist
ERROR:  unnamed prepared statement does not exist
```

Síntomas que suelen deberse a esta misma causa raíz:

* Ráfagas de errores `prepared statement does not exist`, especialmente durante backfills o escrituras con alta concurrencia
* Inserciones que parecen "fallar en silencio": la sentencia da error, el driver reintenta y un lote puede terminar aplicándose solo parcialmente o descartándose
* Valores devueltos con el tipo incorrecto (por ejemplo, una columna `BIGINT` decodificada como un patrón de bits `float64`): esto sucede cuando un plan del lado del cliente almacenado en caché reutiliza códigos de tipo o formato obsoletos frente a un backend al que nunca se le envió el `Parse` correspondiente

**Solución: desactive las sentencias preparadas del lado del servidor en su driver.** La opción exacta depende de su biblioteca cliente:

| Driver                           | Configuración                                                                       |
| -------------------------------- | ----------------------------------------------------------------------------------- |
| **pgx** (Go)                     | `statement_cache_capacity=0` y `default_query_exec_mode=exec` (o `simple_protocol`) |
| **psycopg3** (Python)            | `prepare_threshold=None`                                                            |
| **asyncpg** (Python)             | `statement_cache_size=0`                                                            |
| **JDBC** (Java)                  | `prepareThreshold=0`                                                                |
| **node-postgres / pg** (Node.js) | No pase un `name` a `query()` (las consultas con nombre se preparan en el servidor) |

Si su carga de trabajo depende de sentencias preparadas, conéctese **directamente a PostgreSQL** (puerto 5432) en lugar de pasar por el pooler PgBouncer: las conexiones directas admiten sentencias preparadas con normalidad. Consulte [Conexión](/es/products/managed-postgres/connection) para obtener más información sobre cómo elegir entre los endpoints agrupados y directos.

<div id="pgbouncer-vs-pg-connections">
  ### ¿Qué significa el parámetro "max\_client\_conn" en PgBouncer y cómo se relaciona con `max_connections` en Postgres?
</div>

Controlan cosas distintas:

* **Postgres `max_connections`** limita la cantidad de conexiones de **backend** a PostgreSQL. Este es el número costoso: cada backend consume memoria y un slot de proceso.
* **PgBouncer `max_client_conn`** limita la cantidad de conexiones de **cliente** que pueden estar abiertas al mismo tiempo hacia el pooler. PgBouncer multiplexa esa gran cantidad de conexiones de cliente sobre un conjunto mucho más pequeño de conexiones de backend.

Una instancia típica de Managed Postgres está configurada para que PgBouncer acepte aproximadamente **10× más conexiones de cliente que backends de Postgres** (por ejemplo, 5000 clientes / 500 backends). Si ve errores de conexión en el pooler, es mucho más probable que esté alcanzando un límite de backend por pool (`default_pool_size`) que el límite general de clientes.

<div id="database-capabilities">
  ## Capacidades de la base de datos
</div>

<div id="multiple-databases-schemas">
  ### ¿Puedo crear varias bases de datos y esquemas?
</div>

Sí. Managed Postgres ofrece toda la funcionalidad nativa de PostgreSQL, incluido el soporte para varias bases de datos y esquemas dentro de una sola instancia. Puede crear y administrar bases de datos y esquemas mediante comandos estándar de PostgreSQL.

<div id="rbac-support">
  ### ¿Se admite el control de acceso basado en roles (RBAC)?
</div>

Tienes acceso completo de superusuario a tu instancia de Managed Postgres, lo que te permite crear roles y administrar permisos mediante comandos estándar de PostgreSQL.

<Note>
  Está previsto incorporar este año funciones avanzadas de RBAC con integración en consola.
</Note>

<div id="upgrades">
  ## Actualizaciones
</div>

<div id="version-upgrades">
  ### ¿Cómo se gestionan las actualizaciones de versión de PostgreSQL?
</div>

Tanto las actualizaciones de versión menores como las mayores se realizan mediante failover y, por lo general, solo provocan unos pocos segundos de inactividad. Puede configurar una ventana de mantenimiento para controlar cuándo se aplican las actualizaciones. Para obtener más información, consulte la documentación de [Actualizaciones](/es/products/managed-postgres/upgrades).

<div id="migration">
  ## Migración
</div>

<div id="migration-tools">
  ### ¿Qué herramientas hay disponibles para migrar a Managed Postgres?
</div>

Managed Postgres admite varios métodos de migración:

* **pg\_dump and pg\_restore**: Para bases de datos más pequeñas o migraciones puntuales. Consulta la guía de [pg\_dump and pg\_restore](/es/products/managed-postgres/migrations/pg_dump-pg_restore).
* **Logical replication**: Para bases de datos más grandes que requieren un tiempo de inactividad mínimo. Consulta la guía de [Replicación lógica](/es/products/managed-postgres/migrations/logical-replication).
* **PeerDB**: Para la replicación basada en CDC desde otras fuentes de Postgres. Consulta la guía de [Migración con PeerDB](/es/products/managed-postgres/migrations/peerdb).

<Note>
  Próximamente estará disponible una experiencia de migración totalmente gestionada.
</Note>
