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 los parámetros en un grupo de parámetros de clúster de base de datos en Amazon Aurora y Grupos de parámetros de base de datos para instancias de Amazon Aurora.
Parámetros
- apg_plan_mgmt.capture_plan_baselines
- apg_plan_mgmt.plan_capture_threshold
- apg_plan_mgmt.explain_hashes
- apg_plan_mgmt.log_plan_enforcement_result
- apg_plan_mgmt.max_databases
- apg_plan_mgmt.max_plans
- apg_plan_mgmt.plan_hash_version
- apg_plan_mgmt.plan_retention_period
- apg_plan_mgmt.unapproved_plan_execution_threshold
- apg_plan_mgmt.use_plan_baselines
- auto_explain.hashes
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.
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.
Predeterminado | Valores permitidos | Descripción |
---|---|---|
0 | 0 - 1.79769e+308 | Establece el límite del coste total de ejecución del plan de consultas |
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.
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.
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.
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.
Predeterminado | Valores permitidos | Descripción |
---|---|---|
10000 | 10-2147483647 | Número máximo de planes que se pueden almacenar en la vista 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, consulte Validación de planes
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.
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.
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.
Predeterminado | Valores permitidos | Descripción |
---|---|---|
false | 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.. |
false | 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 Mejora de los planes de consultas en 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.
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 . |