tutorial sirve que para instalar como postgresql

postgresql - sirve - ¿Cómo aumentar las conexiones máximas en postgres?



postgresql vs mysql (3)

Estoy usando Postgres DB para mi producto. Mientras hago la inserción por lotes usando la mancha 3, recibo un mensaje de error:

org.postgresql.util.PSQLException: FATAL: lo siento, demasiados clientes ya.

Mi operación de inserción por lotes será de más de miles de registros. La conexión máxima para mis postgres es 100.

¿Cómo aumentar las conexiones máximas?


Agregando a la gran respuesta de Winnie,

Si alguien no puede encontrar la ubicación del archivo postgresql.conf en su configuración, siempre puede preguntarle al propio postgres.

SHOW config_file;

Para mí, cambiar solo las max_ connections hizo el truco.


Solo aumentar max_connections es una mala idea. También necesita aumentar shared_buffers y kernel.shmmax .

Consideraciones

max_connections connections determina el número máximo de conexiones simultáneas al servidor de la base de datos. El valor predeterminado es típicamente 100 conexiones.

Antes de aumentar el recuento de conexiones, es posible que deba ampliar su implementación. Pero antes de eso, debe considerar si realmente necesita un mayor límite de conexión.

Cada conexión PostgreSQL consume RAM para administrar la conexión o el cliente que la usa. Cuantas más conexiones tenga, más RAM usará que podría usarse para ejecutar la base de datos.

Una aplicación bien escrita generalmente no necesita una gran cantidad de conexiones. Si tiene una aplicación que necesita una gran cantidad de conexiones, considere usar una herramienta como pg_bouncer que pueda agrupar las conexiones por usted. Como cada conexión consume RAM, debe buscar minimizar su uso.

Cómo aumentar las conexiones máximas

1. Aumente max_connection y shared_buffers

en /var/lib/pgsql/data/postgresql.conf

cambio

max_connections = 100 shared_buffers = 24MB

a

max_connections = 300 shared_buffers = 80MB

El parámetro de configuración shared_buffers determina la cantidad de memoria dedicada a PostgreSQL para usar para el almacenamiento en caché de datos .

  • Si tiene un sistema con 1 GB o más de RAM, un valor inicial razonable para shared_buffers es 1/4 de la memoria en su sistema.
  • es poco probable que use más del 40% de RAM para funcionar mejor que una cantidad menor (como el 25%)
  • Tenga en cuenta que si su sistema o la compilación de PostgreSQL es de 32 bits, puede que no sea práctico establecer shared_buffers por encima de 2 ~ 2.5GB.
  • Tenga en cuenta que en Windows, los valores grandes para shared_buffers no son tan efectivos, y es posible que encuentre mejores resultados manteniéndolo relativamente bajo y usando más el caché del sistema operativo. En Windows, el rango útil es de 64 MB a 512 MB .

2. Cambiar kernel.shmmax

shared_buffers aumentar el tamaño máximo del segmento del núcleo para que sea un poco más grande que shared_buffers .

En el archivo /etc/sysctl.conf configure el parámetro como se muestra a continuación. Tendrá efecto cuando se reinicie postgresql (la siguiente línea hace que el núcleo tenga un máximo de 96Mb )

kernel.shmmax=100663296

Referencias

Postgres Max Connections y Buffers compartidos

Ajuste su servidor PostgreSQL


cambie la variable max_connections en el archivo postgresql.conf ubicado en / var / lib / pgsql / data o / usr / local / pgsql / data /