PolarDB for PostgreSQL ajusta previamente ciertos parámetros de la edición comunitaria para ofrecer un mejor rendimiento y mayor estabilidad en un entorno de nube. Algunos valores predeterminados difieren de los de PostgreSQL estándar. Esta referencia describe los parámetros que afectan el rendimiento y el comportamiento, organizados por categoría.
Algunos parámetros no se pueden modificar en la consola. Inicie sesión en el clúster y use la línea de comandos para consultarlos y modificarlos.
Parámetros importantes
Los tres parámetros a continuación tienen valores predeterminados específicos de PolarDB que difieren de la edición comunitaria. Modifíquelos en la consola según sea necesario.
synchronous_commit
Controla cuándo una transacción devuelve un resultado exitoso al cliente, en relación con las garantías de durabilidad de WAL. Valor predeterminado: off.
Detalles de configuración:
off(predeterminado): Las transacciones devuelven un resultado exitoso sin esperar a que WAL llegue al disco. La ventana máxima de pérdida de datos es 3 ×wal_writer_delay(valor predeterminado: 10 ms). Use esta opción cuando el throughput sea más importante que la durabilidad estricta.on: Las transacciones esperan a que WAL se escriba en el disco antes de devolver un resultado exitoso. Úsela cuando su aplicación requiera durabilidad estricta por transacción.remote_write: Las transacciones esperan a que WAL se escriba en el sistema de archivos del nodo en espera, aunque no necesariamente se vacíe al disco.local: Las transacciones solo esperan a que WAL se escriba en el disco local, sin requerir un nodo en espera.remote_apply: Las transacciones esperan a que WAL se aplique al registro de transacciones del nodo en espera. Esto ofrece la garantía de consistencia más sólida, pero aumenta la latencia de confirmación.
Para comprobar la configuración actual, ejecute SHOW synchronous_commit;.
wal_level
Controla cuánta información se escribe en el registro de escritura anticipada (WAL). Valor predeterminado: replica.
Cambiar este parámetro reinicia la base de datos. Planifique esta acción con anticipación.
|
Valor |
Contenido de WAL |
Cuándo usarlo |
|
|
Admite nodos en espera de solo lectura |
Despliegue estándar; reduce el volumen de WAL y mejora el rendimiento de escritura |
|
|
Agrega los datos necesarios para la replicación lógica |
Su carga de trabajo usa replicación lógica |
Para comprobar la configuración actual, ejecute SHOW wal_level;.
log_statement
Establece qué instrucciones SQL se escriben en el registro de auditoría. Valor predeterminado: ddl.
|
Valor |
Qué se registra |
|
|
Ninguna |
|
|
Instrucciones DDL: |
|
|
Instrucciones DDL y DML: |
|
|
Todas las instrucciones SQL |
Registrar menos instrucciones mejora el rendimiento de la base de datos. La función SQL Explorer and Audit ajusta este parámetro automáticamente: al habilitarla establece log_statement = all; al deshabilitarla establece log_statement = ddl.
Para comprobar la configuración actual, ejecute SHOW log_statement;.
Referencia de parámetros
A continuación se enumeran los parámetros configurables del clúster, organizados por categoría.
Conexión y autenticación
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
Unidad |
|
|
Tiempo máximo de espera para que un cliente complete la autenticación. El servidor cierra la conexión si se supera el límite, lo que evita que los clientes inactivos retengan recursos de conexión. |
60 |
1–600 |
segundos |
|
|
Habilita conexiones cifradas con Secure Sockets Layer (SSL). |
OFF |
ON/OFF |
— |
Autovacuum
El proceso autovacuum recupera espacio de las tuplas muertas (filas que dejan los datos eliminados o actualizados) y actualiza las estadísticas de las tablas. Ambas funciones son fundamentales para mantener el rendimiento de las consultas a lo largo del tiempo.
Incluso cuando autovacuum está deshabilitado, el sistema sigue activando procesos vacuum para evitar el desbordamiento del identificador de transacción.
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
Unidad |
|
|
Habilita el proceso en segundo plano autovacuum. Requiere |
ON |
ON/OFF |
— |
|
|
Número máximo de procesos de trabajo de autovacuum (sin contar el lanzador) que se pueden ejecutar simultáneamente. |
5 |
1–262,143 |
procesos |
|
|
Pausa mínima entre rondas de autovacuum en una base de datos específica. Cada ronda emite comandos |
30 |
1–2,147,483 |
segundos |
|
|
Número mínimo de tuplas modificadas (insertadas, actualizadas o eliminadas) necesario para activar |
50 |
0–2,147,483,647 |
tuplas |
|
|
Fracción del tamaño de la tabla que se suma a |
0.02 |
0–100 |
porcentaje |
|
|
Número mínimo de tuplas modificadas necesario para activar |
50 |
0–2,147,483,647 |
tuplas |
|
|
Fracción del tamaño de la tabla que se suma a |
0.05 |
0–2,147,483,647 |
porcentaje |
|
|
Antigüedad máxima del identificador de transacción que puede alcanzar una tabla antes de que se ejecute un VACUUM forzado para evitar el desbordamiento del identificador de transacción. El sistema activa este vacuum incluso cuando autovacuum está deshabilitado. |
500,000,000 |
100,000–2,000,000,000 |
identificadores de transacción |
|
|
Antigüedad máxima del identificador multixact antes de que se ejecute un VACUUM forzado para evitar el desbordamiento del identificador multixact. El sistema activa este vacuum incluso cuando autovacuum está deshabilitado. |
700,000,000 |
10,000–2,000,000,000 |
identificadores de transacción |
|
|
Retraso de costo aplicado a las operaciones de autovacuum. Establézcalo en |
0 |
-1–100 |
milisegundos |
|
|
Límite de costo total para las operaciones de autovacuum, distribuido proporcionalmente entre todos los procesos de trabajo en ejecución. Establézcalo en |
10,000 |
-1–10,000 |
valor de costo |
Checkpoints y escritura en segundo plano
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
Unidad |
|
|
Intervalo máximo entre checkpoints automáticos de WAL. |
30 |
30–86,400 |
segundos |
|
|
Pausa entre rondas del escritor en segundo plano que vacían las páginas modificadas al disco. |
600,000 |
10–10,000 |
milisegundos |
|
|
Número de páginas modificadas que un proceso de backend puede escribir antes de que el sistema operativo vacíe la caché de archivos al disco. Establézcalo en |
0 |
0–256 |
bloques |
|
|
Escribe el contenido completo de una página de datos en WAL durante su primera modificación después de un checkpoint. Evita la corrupción de páginas parciales tras fallas de energía. |
OFF |
ON/OFF |
— |
|
|
Memoria compartida utilizada para almacenar temporalmente datos de WAL antes de escribirlos en el disco. |
16 MB |
-1–262,143 (hasta 2,097,144 KB) |
bloques de WAL (8 KB cada uno) |
|
|
Consulte Parámetros importantes. Cambiar este parámetro reinicia la base de datos. |
replica |
replica/logical |
— |
|
|
Pausa máxima entre rondas de vaciado de walwriter. |
600,000 |
1–10,000 |
milisegundos |
Planificación y ejecución de consultas
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
|
|
Controla si el planificador usa restricciones |
partition |
on/off/partition |
|
|
Estimación de costo del planificador para procesar cada entrada de índice durante un escaneo de índice. |
0.005 |
0–1.79769e+308 |
|
|
Estimación de costo del planificador para procesar cada operador o función en una consulta. |
0.0025 |
0–1.79769e+308 |
|
|
Estimación de costo del planificador para procesar cada fila en una consulta. |
0.01 |
0–1.79769e+308 |
|
|
Habilita la poda de particiones durante la planificación y la ejecución para omitir el escaneo de particiones irrelevantes. |
ON |
ON/OFF |
|
|
Estimación de costo del planificador para recuperar una página en un escaneo secuencial. |
1 |
0–1.79769e+308 |
|
|
Habilita la compilación Just-In-Time (JIT) para las consultas elegibles con el fin de acelerar la ejecución. |
OFF |
ON/OFF |
Configuración de tiempos de espera
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
Unidad |
|
|
Tiempo que una transacción espera por un bloqueo antes de que el sistema compruebe si existe un interbloqueo. |
1,000 |
0–2,147,483,647 |
milisegundos |
|
|
Tiempo máximo que una sesión puede permanecer inactiva dentro de una transacción. La sesión finaliza cuando se supera este límite. Establézcalo en |
3,600,000 |
0–2,147,483,647 |
milisegundos |
|
|
Tiempo máximo que una operación espera para adquirir un bloqueo. La operación falla con un error cuando se supera este límite. Establézcalo en |
0 |
0–2,147,483,647 |
milisegundos |
|
|
Tiempo máximo de ejecución para una sola instrucción SQL. La instrucción se cancela cuando se supera este límite. Establézcalo en |
0 |
0–262,143 |
milisegundos |
Registros y auditoría
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
Unidad |
|
|
Habilita el proceso del recopilador de registros, que captura y escribe la salida de registros durante la operación del clúster. |
ON |
ON/OFF |
— |
|
|
Registra cada conexión exitosa de un cliente. |
OFF |
ON/OFF |
— |
|
|
Registra cada desconexión de un cliente. |
OFF |
ON/OFF |
— |
|
|
Controla el nivel de detalle incluido en los mensajes de registro de errores. |
default |
terse/default/verbose |
— |
|
|
Registra cualquier instrucción SQL que se ejecute durante más tiempo que el umbral especificado. Establézcalo en |
5,000 |
0–2,147,483,647 |
milisegundos |
|
|
Consulte Parámetros importantes. |
ddl |
none/ddl/mod/all |
— |
Replicación y alta disponibilidad
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
|
|
Permite que los nodos de solo lectura acepten consultas de solo lectura durante la recuperación. |
ON |
ON/OFF |
|
|
Envía comentarios de los nodos de solo lectura al nodo primario sobre las consultas activas. Cuando está habilitado, el nodo primario retrasa la limpieza de las versiones de filas que aún necesitan las consultas del nodo de solo lectura, lo que reduce los conflictos de consultas. |
ON |
ON/OFF |
|
|
Número máximo de ranuras de replicación que admite el clúster. |
64 |
0–262,143 |
Gestión de recursos
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
Unidad |
|
|
Método de implementación para la memoria compartida dinámica. |
posix |
posix/sysv/mmap |
— |
|
|
Tamaño máximo de la lista pendiente para un índice Generalized Inverted Index (GIN) en modo de actualización rápida. |
4,096 |
64–2,097,151 |
KB |
|
|
Solicita páginas de memoria grandes al sistema operativo cuando están disponibles. |
ON |
ON/OFF |
— |
|
|
Número máximo de controladores de archivo que cada proceso en segundo plano puede abrir simultáneamente. |
10,000 |
64–2,147,483,647 |
— |
|
|
Número máximo de bloqueos que puede retener una sola transacción. |
64 |
10–2,147,483,647 |
— |
|
|
Número máximo de transacciones que pueden estar en estado preparado (protocolo de confirmación en dos fases) de forma simultánea. |
800 |
0–262,143 |
— |
|
|
Número máximo de procesos de trabajo en segundo plano que el clúster puede iniciar, incluidos los trabajadores de consultas paralelas. |
256 |
0–262,143 |
— |
|
|
Tamaño total máximo de los archivos temporales (usados para ordenar, aplicar hash y operaciones similares) que puede crear un solo proceso de backend. Establézcalo en |
104,857,600 (100 GB) |
-1–2,147,483,647 |
KB |
Formato y comportamiento
|
Parámetro |
Descripción |
Valor predeterminado |
Rango |
|
|
Formato de visualización para los valores de fecha y hora. Combine un formato de salida ( |
|
Consulte la descripción |
|
|
Obsoleto. La versión actual ya no admite OID, por lo que solo se puede establecer en |
OFF |
Solo OFF |
|
|
Número de dígitos significativos adicionales que se muestran para los valores de punto flotante más allá de la precisión estándar. Los valores más altos generan una salida más precisa. |
0 |
-15–3 |
|
|
Obliga a que los cambios de datos se vacíen de la caché del sistema operativo al disco después de operaciones como |
ON |
ON/OFF |
|
|
Zona horaria utilizada para mostrar e interpretar marcas de tiempo en la sesión. Para conocer los valores disponibles, consulte el rango de modificación del parámetro en la consola. |
|
Nombres de zona horaria estándar, por ejemplo, |