Límites de consultas directas PostgreSQL remotas

exec_sql y run_sql remotos usan libpq no bloqueante y resultados de una fila, con el plazo y contador compartidos de la llamada SQL remota. Al terminar bien se restaura el modo anterior. Las consultas locales conservan su ejecución síncrona. Las listas de comandos devuelven solo el último resultado como PQexec, pero el presupuesto acumula las filas de todos los comandos.

Se rechazan más de 100.000 filas o 64 MiB de contabilidad conservadora de filas/celdas/campos antes de copiar cadenas, incluidos resultados descartados por exec_sql. Ante límite o error SQL/protocolo se cierra esa conexión: hay que reconectar y no reutilizar sus transacciones o cursores. No se devuelven filas parciales como éxito.

No es una cuota dura de memoria: libpq puede asignar una fila o buffer de entrada excesivo antes de que la aplicación lo inspeccione. No limita el trabajo ni memoria del servidor. Cerrar el socket no confirma cancelación en el servidor ni revierte sentencias ya confirmadas. La conexión inicial y otros métodos PostgreSQL (tablas, navegación, metadatos, agregados y escrituras) mantienen rutas síncronas. MariaDB, otros drivers, cursores retenidos y bloqueos externos requieren controles propios. La cobertura es parcial.


This site uses Just the Docs, a documentation theme for Jekyll.