Sugerencias sobre ajuste de parámetro de RDS for PostgreSQL
Los parámetros son elementos de configuración clave en un sistema de base de datos. La configuración de parámetros incorrecta puede afectar negativamente al rendimiento de la base de datos. Esta sección describe algunos parámetros importantes para su referencia. Para obtener más información, visite el sitio web oficial de PostgreSQL.
Para obtener más información sobre cómo modificar los parámetros de RDS para PostgreSQL en la consola, consulte Modificación de parámetros de una instancia de RDS for PostgreSQL.
Parámetros sensibles
Los siguientes parámetros pueden dar lugar a problemas de seguridad y estabilidad del sistema si se configuran incorrectamente:
- El parámetro search_path debe establecerse en una secuencia de esquema donde los esquemas están separados por comas (,). Asegúrese de que los esquemas existen. De lo contrario, el rendimiento de la base de datos se verá afectado.
- Si habilita el parámetro log_duration, es posible que las sentencias SQL que contienen información confidencial se registren en los registros. Se recomienda desactivar este parámetro.
- log_min_duration_statement especifica cuántos milisegundos tiene que ejecutar una consulta antes de que tenga que ser registrada. La unidad es milisegundo. Establecer este parámetro en 0 significa que se registran todas las sentencias. Establecer este parámetro en -1 significa que no se graba ninguna sentencia. Para más detalles, véase Consulta y descarga de registros de consultas lentas.
- El parámetro temp_file_limit especifica la cantidad máxima de espacio en disco (en KB) que una sesión puede usar para archivos temporales. Admite solo RDS for PostgreSQL 11, 12 y 13. El cambio de este valor de parámetro es una operación de alto riesgo. Tenga cuidado al realizar esta operación.
- Si el valor del parámetro excede el umbral, la instancia de base de datos no estará disponible.
- Si el valor del parámetro se cambia a un valor mayor para uso temporal pero no se cambia al valor original después del uso, el espacio en disco se utilizará continuamente para almacenar archivos temporales. Si se utiliza el espacio en disco, los servicios se interrumpirán y la instancia de base de datos no estará disponible.
- Los parámetros max_pred_locks_per_transaction y max_locks_per_transaction deben establecerse en función de los valores de max_connections y max_prepared_transactions. Los valores demasiado grandes pueden provocar la indisponibilidad de la instancia.
Parámetros de rendimiento
Los siguientes parámetros pueden afectar al rendimiento de la base de datos:
- Si log_statement se establece en ddl, mod o all se registran las operaciones para crear y eliminar usuarios de base de datos (incluidas contraseñas y otra información confidencial). Esta operación afecta al rendimiento de la base de datos. Tenga cuidado al establecer este parámetro.
- La habilitación de los siguientes parámetros afectará al rendimiento de la base de datos: log_hostname, log_duration, log_connections y log_disconnections. Tenga cuidado al habilitar estos parámetros.
- Se recomienda que el parámetro shared_buffers sea un valor que oscila entre el 25% y el 40% de la memoria del sistema. El valor máximo de este parámetro no puede exceder el 80% de la memoria del sistema para evitar afectar el rendimiento de la base de datos.
- El parámetro max_worker_processes debe establecerse en función de los valores de max_parallel_workers y max_parallel_workers_per_gather. Si el valor max_worker_processes es demasiado grande, el rendimiento de la base de datos se verá afectado.