Cuando tenga numerosas conexiones concurrentes para su servidor, excediendo el número predeterminado, se encontrará con "Error fatal: Demasiados clientes ya."Sin embargo, es posible ajustar las conexiones Max PostgreSQL para satisfacer sus necesidades. Seguir leyendo!
Verificar las conexiones Max disponibles en PostgreSQL
Si se enfrenta a un mensaje de error que limita su aplicación de recibir conexiones entrantes, ajustar la propiedad PostgreSQL Max Connections para su base de datos es la solución. Puede ajustar la propiedad max_connections a través de la línea de comando o la GUI. Cubriremos en ambos sentidos, pero primero veamos cómo verificar el set de MAX_Connections y los shared_buffers.
Tenga en cuenta que ajustar la propiedad MAX_Connections para su base de datos PostgreSQL afecta el uso de RAM. Por lo tanto, solo debe ajustarlo a un tamaño razonable para evitar drenar su ram. Además, otras propiedades como Shared_Buffers se verán afectadas cuando sintonice las MAX_Connections. También se recomienda ajustar los shared_buffers al ajustar las mAX_Connections para mejorar el rendimiento de la aplicación.
Hay dos formas de verificar las max_connections y los shared_buffers:
A través del archivo de configuración
La ubicación del archivo de configuración PostgreSQL depende de la versión PostgreSQL que está ejecutando y del sistema que está utilizando. En nuestro caso, tenemos la base de datos PostgreSQL ejecutándose en Ubuntu. Por lo tanto, podemos acceder a él a través del terminal usando el siguiente comando:
$ sudo -iu Postgres
Una vez que accedamos al servidor, ejecute el siguiente comando para obtener la ruta al archivo de configuración:
# Show config_file;
Una vez que obtenga la ruta, abra el archivo de configuración utilizando un editor de su elección. Aquí, lo abrimos usando Nano de la siguiente manera:
$ nano/etc/postgresql/14/main/postgresql.confusión
Desplácese hacia abajo y busque las Max_Connections en el archivo de configuración. En nuestro caso, podemos ver que el límite disponible es el límite predeterminado de 100 conexiones.
Más abajo en el archivo, el shared_buffers está configurado en 128mb.
A través del comando "show max_connections"
Abra su base de datos PostgreSQL en su terminal y ejecute los siguientes comandos para mostrar los valores de MAX_CONNECTION y Shared_Buffers actualmente:
# show max_connections;
# show shared_buffers;
Todavía obtenemos los mismos valores que cuando accedimos al archivo de configuración en el método anterior.
Dos métodos para ajustar las conexiones Max PostgreSQL
Puede ajustar el valor max_connections en cualquier caso para satisfacer sus necesidades, siempre que no sobrecargue la base de datos.
Hay dos enfoques para tomar. Primero, puede usar el comando "alterar el sistema" PostgreSQL para asignar un nuevo valor para sus max_connections. Aún así, puede acceder al archivo de configuración PostgreSQL con privilegios de administración y ajustar el valor max_connections. Eche un vistazo a los siguientes ejemplos:
A través del comando del sistema PostgreSQL ALTER
Abra su base de datos PostgreSQL en su terminal. Una vez que accede al servidor, cambie las Max_Connections y el Shared_Buffers con la siguiente sintaxis. Reemplace los valores para que coincidan con los de su preferencia:
# Alter system set max_connections = size-of-conection;
# Alter system set shared_buffers = size-of-buffers;
Para nuestro ejemplo, establecemos el max_connections = 250 y el shared_buffers = 180mb.
Después de ajustar las MAX_Connections, debe reiniciar el servidor de base de datos PostgreSQL para que los cambios entren en vigencia. Aquí, reiniciamos el servicio PostgreSQL con el comando SYSTEMCTL.
$ sudo systemctl reiniciar postgresql
Verifique rápidamente si se implementan las nuevas max_connections y los shared_buffers.
A través del archivo de configuración de PostgreSQL
Puede ajustar directamente las Max_Connections accediendo a PostgreSQL con privilegios de administración. La ruta al archivo de configuración es la misma que accedió anteriormente cuando verifica actualmente max_connections y shared_buffers.
$ nano/etc/postgresql/14/main/postgresql.confusión
Cuando abra el archivo, ubique las mAX_Connections y cambie su valor al nuevo límite que desea establecer.
Aún así, acceda a los shared_buffers y cambie su límite a su preferido, dependiendo del recurso del sistema que tenga para su caso.
Guarde los cambios y salga del editor de archivos. Luego debe reiniciar el servidor de base de datos PostgreSQL para que los cambios entren en vigencia.
Con eso, ajustó correctamente la propiedad PostgreSQL max_connections en su servidor. Por lo tanto, elimina el error que enfrentó antes y disfruta de un mejor rendimiento para su aplicación, con más conexiones concurrentes que su servidor de base de datos PostgreSQL está atendida.
Conclusión
PostgreSQL le permite ajustar las MAX_Connections para permitir conexiones más concurrentes a la base de datos. La sintonización de las conexiones Max PostgreSQL se puede hacer de dos maneras. Puede acceder a su archivo de configuración y editar manualmente el valor max_connections. Alternativamente, puede usar el terminal con el comando "Alter System" y establecer el nuevo valor max_connections. Esta guía presentó ambos métodos. Pruébalos!