Referencia de parámetros para la administración de planes de consultas de Aurora PostgreSQL - Amazon Aurora

Referencia de parámetros para la administración de planes de consultas de Aurora PostgreSQL

Puede configurar sus preferencias para la extensión apg_plan_mgmt mediante los parámetros que se indican en esta sección. Están disponibles en el parámetro de clúster de base de datos personalizado y en el grupo de parámetros de base de datos asociado al clúster de base de datos de Aurora PostgreSQL. Estos parámetros controlan el comportamiento de la función de administración de planes de consultas y cómo afecta al optimizador. Para obtener más información sobre la administración de planes de consultas, consulte Activación de la administración de planes de consultas en Aurora PostgreSQL. El cambio de los siguientes parámetros no tiene ningún efecto si la extensión apg_plan_mgmt no está configurada tal como se detalla en esa sección. Para obtener información acerca de cómo modificar los parámetros, consulte Modificación de parámetros de un grupo de parámetros de clúster de base de datos y Trabajo con los grupos de parámetros en una instancia de base de datos.

apg_plan_mgmt.capture_plan_baselines

Captura los planes de ejecución de consultas generados por el optimizador para cada instrucción SQL y los almacena en la vista dba_plans. De forma predeterminada, la cantidad máxima de planes que se puede almacenar es de 10 000, según lo especificado en el parámetro apg_plan_mgmt.max_plans. Para obtener información de referencia, consulte apg_plan_mgmt.max_plans.

Puede establecer este parámetro en el grupo de parámetros de clúster de base de datos personalizado o en el grupo de parámetros de base de datos personalizado. Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
off automático Activa la captura de planes para todas las bases de datos de la instancia de base de datos. Recopila un plan para cada instrucción SQL que se ejecute dos o más veces. Utilice esta configuración para cargas de trabajo grandes o en evolución a fin de proporcionar estabilidad al plan.
manual Activa la captura de planes solo para las instrucciones subsiguientes, hasta que la desactive de nuevo. El uso de esta configuración le permite capturar planes de ejecución de consultas solo para instrucciones SQL esenciales específicas o para consultas problemáticas conocidas.
off Desactiva la captura de planes.

Para obtener más información, consulte Captura de planes de ejecución de Aurora PostgreSQL.

apg_plan_mgmt.plan_capture_threshold

Especifica el límite de modo que si el coste total del plan de ejecución de consultas es inferior a dicho límite, el plan no se incluirá en la vista apg_plan_mgmt.dba_plans.

Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
0 0 - 1.79769e+308

Establece el límite del coste total de ejecución del plan de consultas apg_plan_mgmt para incluir los planes.

Para obtener más información, consulte Examinación de los planes de consultas de Aurora PostgreSQL en la vista dba_plans.

apg_plan_mgmt.explain_hashes

Especifica si EXPLAIN [ANALYZE] muestra sql_hash y plan_hash al final de su salida. Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
0 0 (off) EXPLAIN no muestra la opción true de sql_hash y plan_hash sin hashes.
1 (on) EXPLAIN muestra la opción true de sql_hash y plan_hash sin hashes.

apg_plan_mgmt.log_plan_enforcement_result

Especifica si los resultados deben registrarse para ver si los planes administrados por QPM se utilizan correctamente. Cuando se utiliza un plan genérico almacenado, no se escribirán registros en los archivos de registro. Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
ninguno ninguno No muestra ningún resultado de aplicación del plan en los archivos de registro.
on_error Solo muestra el resultado de la aplicación del plan en los archivos de registro cuando QPM no utiliza los planes administrados.
Todos Muestra todos los resultados de la aplicación del plan en archivos de registro, incluidos los correctos y los incorrectos.

apg_plan_mgmt.max_databases

Especifica el número máximo de bases de datos de la instancia de escritor del clúster de base de datos de Aurora PostgreSQL que pueden usar la administración de planes de consultas. De forma predeterminada, la administración de planes de consultas puede admitir 10 bases de datos. Si tiene más de 10 bases de datos en la instancia, puede cambiar el valor de esta configuración. Para saber cuántas bases de datos hay en una instancia determinada, conéctese a la instancia mediante psql. A continuación, utilice el metacomando psql, \l, para enumerar las bases de datos.

Para cambiar el valor de este parámetro, es necesario reiniciar la instancia para que la configuración surta efecto.

Valor predeterminado Valores permitidos Descripción
10 10-2147483647 Número máximo de bases de datos que pueden usar la administración de planes de consultas en la instancia.

Puede establecer este parámetro en el grupo de parámetros de clúster de base de datos personalizado o en el grupo de parámetros de base de datos personalizado.

apg_plan_mgmt.max_plans

Establece el número máximo de instrucciones SQL que el administrador del plan de consultas puede mantener en la vista apg_plan_mgmt.dba_plans. Recomendamos establecer este parámetro en 10000 o superior para todas las versiones de Aurora PostgreSQL.

Puede establecer este parámetro en el grupo de parámetros de clúster de base de datos personalizado o en el grupo de parámetros de base de datos personalizado. Para cambiar el valor de este parámetro, es necesario reiniciar la instancia para que la configuración surta efecto.

Valor predeterminado Valores permitidos Descripción
10000 10-2147483647

Número máximo de planes que se pueden almacenar en la vista apg_plan_mgmt.dba_plans.

El valor predeterminado para la versión 10 de Aurora PostgreSQL y las versiones previas es 1000.

Para obtener más información, consulte Examinación de los planes de consultas de Aurora PostgreSQL en la vista dba_plans.

apg_plan_mgmt.plan_hash_version

Especifica los casos de uso para los que está diseñado el cálculo plan_hash. Una versión superior de apg_plan_mgmt.plan_hash_version abarca todas las funciones de la versión inferior. Por ejemplo, la versión 3 abarca los casos de uso admitidos por la versión 2.

El cambio del valor de este parámetro debe ir seguido de una llamada a apg_plan_mgmt.validate_plans('update_plan_hash'). Actualiza los valores de plan_hash de cada base de datos con apg_plan_mgmt instalado y las entradas de la tabla de planes. Para obtener más información, consultar Validación de planes

Valor predeterminado Valores permitidos Descripción
1 1 Cálculo de plan_hash predeterminado.
2 Se modificó el cálculo de plan_hash para admitir múltiples esquemas.
3 Se modificó el cálculo de plan_hash para admitir múltiples esquemas y tablas particionadas.
4 Cálculo de plan_hash modificado para operadores paralelos y para admitir nodos materializados.

apg_plan_mgmt.plan_retention_period

Especifica el número de días que se van a conservar planes en la vista apg_plan_mgmt.dba_plans, tras el cual se eliminan automáticamente. De forma predeterminada, un plan se elimina cuando han transcurrido 32 días desde la última vez que se usó (la columna last_used en la vista apg_plan_mgmt.dba_plans). Puede cambiar esta configuración a cualquier número, de 1 o más.

Para cambiar el valor de este parámetro, es necesario reiniciar la instancia para que la configuración surta efecto.

Valor predeterminado Valores permitidos Descripción
32 1-2147483647 Número máximo de días desde que un plan se usó por última vez antes de que se elimine.

Para obtener más información, consulte Examinación de los planes de consultas de Aurora PostgreSQL en la vista dba_plans.

apg_plan_mgmt.unapproved_plan_execution_threshold

Especifica un límite de coste por debajo del cual el optimizador puede utilizar un plan no aprobado. De forma predeterminada, el límite es 0, por lo que el optimizador no ejecuta planes sin aprobar. Si se establece este parámetro en un límite relativamente bajo, como 100, se evita la sobrecarga de los planes poco importantes. También puede establecer este parámetro en un valor extremadamente alto, como 10000000, utilizando el estilo reactivo de gestión de planes. Esto permite al optimizador utilizar todos los planes seleccionados sin sobrecargar el plan. Pero si encuentra un plan incorrecto, puede marcarlo manualmente como "rechazado" para que no se utilice la próxima vez.

El valor de este parámetro representa una estimación de costos para ejecutar un plan determinado. Si un plan no aprobado está por debajo de ese costo estimado, el optimizador lo usa para la instrucción SQL. Puedes ver los planes capturados y su estado (Aprobado, No aprobado) en la vista dba_plans. Para obtener más información, consulte Examinación de los planes de consultas de Aurora PostgreSQL en la vista dba_plans.

Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
0 0-2147483647 Costo estimado del plan por debajo del cual se usa un plan no aprobado.

Para obtener más información, consulte Uso de los planes administrados de Aurora PostgreSQL.

apg_plan_mgmt.use_plan_baselines

Especifica que el optimizador debe usar uno de los planes aprobados capturados y almacenados en la vista apg_plan_mgmt.dba_plans. De forma predeterminada, este parámetro está desactivado (false), lo que provoca que el optimizador utilice el plan de menor costo que genera sin ninguna evaluación adicional. Al activar este parámetro (configurándolo en true) se fuerza al optimizador a elegir un plan de ejecución de consultas para la instrucción a partir de la línea base del plan. Para obtener más información, consulte Uso de los planes administrados de Aurora PostgreSQL. Para ver una imagen que detalle este proceso, consulte Cómo elige el optimizador qué plan ejecutar..

Puede establecer este parámetro en el grupo de parámetros del clúster de base de datos personalizado o en el grupo de parámetros de base de datos personalizado. Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
falso true Use un plan aprobado, preferido o no aprobado del apg_plan_mgmt.dba_plans. Si ninguno de ellos cumple con todos los criterios de evaluación para el optimizador, puede usar su propio plan de costo mínimo generado. Para obtener más información, consulte Cómo elige el optimizador qué plan ejecutar..
falso Use el plan de costo mínimo generado por el optimizador.

Puede evaluar los tiempos de respuesta de los diferentes planes capturados y cambiar el estado del plan, según sea necesario. Para obtener más información, consulte Mantenimiento de los planes de ejecución de Aurora PostgreSQL.

auto_explain.hashes

Especifica si la salida auto_explain muestra sql_hash y plan_hash. Para cambiar el valor de este parámetro no es necesario reiniciar.

Valor predeterminado Valores permitidos Descripción
0(off) 0(off) El resultado auto_explain no muestra sql_hash y plan_hash.
1(on) El resultado auto_explain muestra sql_hash y plan_hash.