Uso de parámetros en su instancia de base de datos de RDS for PostgreSQL
En algunos casos, puede crear una instancia de base de datos de RDS for PostgreSQL sin especificar un grupo de parámetros personalizado. De ser el caso, la instancia de base de datos se crea por medio del grupo de parámetros predeterminado para la versión de PostgreSQL que elija. Por ejemplo, suponga que crea una instancia de base de datos de RDS for PostgreSQL por medio de la versión 13.3 de PostgreSQL. En este caso, la instancia de base de datos se crea por medio de los valores del grupo de parámetros para las versiones 13 de PostgreSQL, default.postgres13
.
También puede crear su propio grupo de parámetros de base de datos personalizado. Debe hacer esto si desea modificar cualquier configuración para la instancia de base de datos de RDS for PostgreSQL a partir de sus valores predeterminados. Para saber cómo hacerlo, consulte Grupos de parámetros para Amazon RDS.
Puede realizar un seguimiento de la configuración en su instancia de base de datos de RDS for PostgreSQL de varias maneras diferentes. Puede utilizar la AWS Management Console, la AWS CLI o la API de Amazon RDS. También puede consultar los valores de la tabla pg_settings
de PostgreSQL de la instancia, como se muestra a continuación.
SELECT name, setting, boot_val, reset_val, unit FROM pg_settings ORDER BY name;
Para obtener más información sobre los valores que se muestran en esta consulta, consulte pg_settings
Tenga especial cuidado cuando cambie la configuración de max_connections
y shared_buffers
en la instancia de base de datos de RDS for PostgreSQL. Por ejemplo, suponga que modifica la configuración para max_connections
o shared_buffers
y utiliza valores que son demasiado altos para la carga de trabajo real. En este caso, su instancia de base de datos de RDS for PostgreSQL no se iniciará. Si esto ocurre, verá un error como el siguiente en el postgres.log
.
2018-09-18 21:13:15 UTC::@:[8097]:FATAL: could not map anonymous shared memory: Cannot allocate memory
2018-09-18 21:13:15 UTC::@:[8097]:HINT: This error usually means that PostgreSQL's request for a shared memory segment
exceeded available memory or swap space. To reduce the request size (currently 3514134274048 bytes), reduce
PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
Sin embargo, no puede cambiar ningún valor de la configuración contenida en los grupos de parámetros de base de datos de RDS for PostgreSQL predeterminados. Para cambiar la configuración de cualquier parámetro, primero cree un grupo de parámetros de base de datos personalizado. Luego, cambie la configuración en ese grupo personalizado y, luego, aplique el grupo de parámetros personalizado a su instancia de base de datos de RDS for PostgreSQL. Para obtener más información, consulte Grupos de parámetros para Amazon RDS.
Hay dos tipos de parámetros en RDS para PostgreSQL.
Parámetros estáticos: los parámetros estáticos requieren que la instancia de la base de datos RDS for PostgreSQL se reinicie después de un cambio para que el nuevo valor tenga efecto.
Parámetros dinámicos: los parámetros dinámicos no requieren un reinicio después de cambiar su configuración.
nota
Si su instancia de base de datos de RDS for PostgreSQL utiliza su propio grupo de parámetros de base de datos personalizado, puede cambiar los valores de los parámetros dinámicos en la instancia de base de datos en ejecución. Puede hacerlo mediante la AWS Management Console, la AWS CLI o la API de Amazon RDS.
Si tiene privilegios para hacerlo, también puede cambiar los valores de los parámetros con los comandos ALTER
DATABASE
, ALTER ROLE
y SET
.
Lista de parámetros de la instancia de base de datos de RDS for PostgreSQL
La siguiente tabla enumera algunos de (pero no todos) los parámetros disponibles en una instancia de base de datos RDS for PostgreSQL. Para ver todos los parámetros disponibles, utilice el comando describe-db-parameters de AWS CLI. Por ejemplo, para obtener la lista de todos los parámetros disponibles en el grupo de parámetros predeterminado de RDS para PostgreSQL versión 13, ejecute lo siguiente.
aws rds describe-db-parameters --db-parameter-group-name default.postgres13
También puede usar la consola. Elija grupos de parámetros en el menú de Amazon RDS y, a continuación, elija el grupo de parámetros entre los disponibles en suRegión de AWS.
Nombre del parámetro |
Apply_Type |
Descripción |
---|---|---|
|
Dinámico | Define el nombre de la aplicación sobre la que informarán las estadísticas y los registros. |
|
Dinámico | Establece el comando del shell que se llamará para archivar un archivo WAL. |
|
Dinámico | Permite la entrada de elementos NULL en matrices. |
|
Dinámico | Establece el tiempo máximo permitido para completar una autenticación del cliente. |
|
Dinámico | Inicia el subproceso de autovacuum. |
|
Dinámico | Número de inserciones, actualizaciones o eliminaciones de tuplas previas al análisis como una fracción de reltuples. |
|
Dinámico | Número mínimo de inserciones, actualizaciones o eliminaciones de tuplas previas al análisis. |
|
Estático | Antigüedad con la que se debe aplicar autovacuum a una tabla para impedir el reinicio de los ID. |
|
Dinámico | Tiempo de reposo entre ejecuciones de autovacuum. |
|
Estático | Define el número máximo de procesos de empleados de autovacuum que se ejecutan simultáneamente. |
|
Dinámico | Retardo del costo del vacío, en milisegundos, para autovacuum. |
|
Dinámico | Importe del costo del vacío disponible antes del periodo de reposo para autovacuum. |
|
Dinámico | Número de actualizaciones o eliminaciones de tuplas previas al vacío como una fracción de reltuples. |
|
Dinámico | Número mínimo de actualizaciones o eliminaciones de tuplas previas al vacío. |
|
Dinámico | Define si se admite una barra diagonal invertida (\) en el texto de las cadenas. |
|
Dinámico | Tiempo de reposo del escritor de segundo plano entre una ronda y la siguiente. |
|
Dinámico | Número máximo de páginas de LRU del escritor de segundo plano que se deben vaciar en cada ronda. |
|
Dinámico | Múltiplo del uso medio del búfer que se debe liberar en cada ronda. |
|
Dinámico | Establece el formato de salida para bytes. |
|
Dinámico | Comprueba los cuerpos de las funciones durante la ejecución de CREATE FUNCTION. |
|
Dinámico | Tiempo requerido para vaciar los búferes sucios durante el punto de comprobación expresado como una fracción del intervalo del punto de comprobación. |
|
Dinámico | Define la distancia máxima en los segmentos de registro entre los puntos de comprobación de registro previo a la lectura (WAL) automáticos. |
|
Dinámico | Define el tiempo máximo entre los puntos de comprobación de WAL automáticos. |
|
Dinámico | Habilita las advertencias si los segmentos del punto de comprobación se rellenan con una frecuencia superior a esta. |
|
Dinámico | Establece el intervalo de tiempo entre las comprobaciones de desconexión mientras se ejecutan las consultas. |
|
Dinámico | Define la codificación del conjunto de caracteres del cliente. |
|
Dinámico | Define los niveles de los mensajes que se envían al cliente. |
|
Dinámico | Define el retardo en microsegundos entre la confirmación de la transacción y el vaciado de WAL al disco. |
|
Dinámico | Define el número mínimo de transacciones abiertas concurrentes antes de ejecutar commit_delay. |
|
Dinámico | Habilita el planificador para que use restricciones con el fin de optimizar las consultas. |
|
Dinámico | Define la estimación del planificador del costo de procesar cada entrada de índice durante un examen del índice. |
|
Dinámico | Define la estimación del planificador del costo de procesar cada llamada a operador o a función. |
|
Dinámico | Define la estimación del planificador del costo de procesar cada tupla (fila). |
|
Dinámico | Define la estimación del planificador de la fracción de las filas de un cursor que se recuperarán. |
|
Dinámico | Define el formato de visualización para los valores de fecha y hora. |
|
Dinámico | Define el tiempo de espera de una interrupción antes de comprobar si se ha producido un bloqueo. |
|
Dinámico | Aplica una sangría a las visualizaciones del árbol de análisis y de planificación. |
|
Dinámico | Registra el árbol de análisis de cada consulta. |
|
Dinámico | Registra el plan de ejecución de cada consulta. |
|
Dinámico | Registra el árbol de análisis reescrito de cada consulta. |
|
Dinámico | Define el objetivo de estadística predeterminado. |
|
Dinámico | Define el espacio de tabla predeterminado en el que se deben crear las tablas y los índices. |
|
Dinámico | Define el estado diferible predeterminado de las nuevas transacciones. |
|
Dinámico | Define el nivel de aislamiento de cada nueva transacción. |
|
Dinámico | Define el estado de solo lectura predeterminado de las nuevas transacciones. |
|
Dinámico | Crea nuevas tablas con ID de objeto (OID) de forma predeterminada. |
|
Dinámico | Define la suposición del planificador sobre el tamaño de la caché de disco. |
|
Dinámico | Número de solicitudes simultáneas que el subsistema del disco puede gestionar de un modo eficiente. |
|
Dinámico | Habilita el uso de planes de examen de mapas de bits por parte del planificador. |
|
Dinámico | Habilita el uso de planes de agregación con hash por parte del planificador. |
|
Dinámico | Habilita el uso de planes de unión con hash por parte del planificador. |
|
Dinámico | Habilita el uso de planes de examen de índice por parte del planificador. |
|
Dinámico | Habilita el uso de la materialización por parte del planificador. |
|
Dinámico | Habilita el uso de planes de unión de fusión por parte del planificador. |
|
Dinámico | Habilita el uso de planes de unión de bucle anidado por parte del planificador. |
|
Dinámico | Habilita el uso de planes de examen secuencial por parte del planificador. |
|
Dinámico | Habilita el uso de pasos de ordenación explícitos por parte del planificador. |
|
Dinámico | Habilita el uso de planes de examen de TID por parte del planificador. |
|
Dinámico | Advierte sobre los caracteres de escape de barra diagonal invertida (\) en el texto de las cadenas ordinarias. |
|
Dinámico | Define el número de dígitos que se muestran para los valores de punto flotante. |
|
Dinámico | Define el tamaño FROM-list por encima del cual las subconsultas no se contraen. |
|
Dinámico | Fuerza la sincronización de las actualizaciones del disco. |
|
Dinámico | Escribe páginas completas en WAL la primera vez que se modifican después de un punto de comprobación. |
|
Dinámico | Habilita la optimización genética de consultas. |
|
Dinámico | GEQO: effort se usa para definir el ajuste predeterminado de otros parámetros de GEQO. |
|
Dinámico | GEQO: número de iteraciones del algoritmo. |
|
Dinámico | GEQO: número de individuos de la población. |
|
Dinámico | GEQO: valor de inicialización para la selección de ruta aleatoria. |
|
Dinámico | GEQO: presión selectiva dentro de la población. |
|
Dinámico | Define el umbral de los elementos FROM por encima de los cuales se usa GEQO. |
|
Dinámico | Define el resultado máximo permitido para la búsqueda exacta por GIN. |
|
Dinámico | Determina si un servidor de espera en caliente envía mensajes de retroalimentación al servidor primario o de subida en espera. |
|
Dinámico | Define el formato de visualización para los valores de intervalo. |
|
Dinámico | Define el tamaño FROM-list por encima del cual las construcciones JOIN no se aplanan. |
|
Dinámico | Define el idioma en el que se muestran los mensajes. |
|
Dinámico | Define la configuración regional para el formato de las cantidades monetarias. |
|
Dinámico | Define la configuración regional para el formato de los números. |
|
Dinámico | Define la configuración regional para el formato de los valores de fecha y hora. |
|
Dinámico | Define el tiempo de ejecución mínimo por encima del cual se registrarán las acciones de autovacuum. |
|
Dinámico | Registra cada punto de comprobación. |
|
Dinámico | Registra cada conexión realizada correctamente. |
|
Dinámico | Registra el final de una sesión, incluida su duración. |
|
Dinámico | Registra la duración de cada declaración de SQL completada. |
|
Dinámico | Define el detalle de los mensajes registrados. |
|
Dinámico | Escribe las estadísticas de rendimiento del ejecutor en el registro del servidor. |
|
Dinámico | Define el patrón del nombre de archivo para los archivos de registro. |
|
Dinámico | Establece los permisos de los archivos de registro. El valor predeterminado es 0644. |
|
Dinámico | Registra el nombre del host en los registros de conexión. A partir de PostgreSQL 12 y versiones posteriores, este parámetro está desactivado de forma predeterminada. Cuando se activa, la conexión utiliza la búsqueda inversa de DNS para obtener el nombre de host que se captura en los registros de conexión. Si activa este parámetro, debe supervisar el impacto que tiene en el tiempo que se tarda en establecer las conexiones. |
|
Dinámico | Controla la información prefijada en cada línea de registro. |
|
Dinámico | Registra las esperas de bloqueo largas. |
|
Dinámico | Define el tiempo de ejecución mínimo por encima del cual se registrarán las instrucciones. |
|
Dinámico | Hace que todas las declaraciones que generen un error en este nivel o por encima de él se registren. |
|
Dinámico | Define los niveles de los mensajes que se registran. |
|
Dinámico | Escribe las estadísticas de desempeño del analizador en el registro del servidor. |
|
Dinámico | Escribe las estadísticas de desempeño del planificador en el registro del servidor. |
|
Dinámico | Se producirá una rotación automática del archivo de registro después de N minutos. |
|
Dinámico | Se producirá una rotación automática del archivo de registro después de N kilobytes. |
|
Dinámico | Define el tipo de declaraciones que se deben registrar. |
|
Dinámico | Escribe las estadísticas de desempeño acumulativas en el registro del servidor. |
|
Dinámico | Registra el uso de archivos temporales con un tamaño superior a este número de kilobytes. |
|
Dinámico | Establece la zona horaria que se usará en los mensajes de registro. |
|
Dinámico | Permite truncar los archivos de registro existentes con el mismo nombre durante la rotación del registro. |
|
Estático | Inicia un subproceso para capturar el resultado de stderr o csvlogs en archivos de registro. |
|
Dinámico | Define la memoria máxima que se debe usar para las operaciones de mantenimiento. |
|
Estático | Define el número máximo de conexiones simultáneas. |
|
Estático | Define el número máximo de archivos abiertos simultáneamente para cada proceso del servidor. |
|
Estático | Define el número máximo de bloqueos por transacción. |
|
Estático | Define el número máximo de bloqueos de predicado por transacción. |
|
Estático | Define el número máximo de transacciones preparadas simultáneamente. |
|
Dinámico | Define la profundidad máxima de la pila en kilobytes. |
|
Dinámico | Define el retardo máximo antes de la cancelación de consultas cuando un servidor de espera en caliente está procesando los datos de WAL archivados. |
|
Dinámico | Define el retardo máximo antes de la cancelación de consultas cuando un servidor de espera en caliente está procesando los datos de WAL transmitidos. |
max_wal_size |
Dinámico | Establece el tamaño de WAL (MB) que lanza un punto de comprobación. Para todas las versiones posteriores a RDS para PostgreSQL 10, el valor predeterminado es de al menos 1 GB (1024 MB). Por ejemplo, el valor max_wal_size de RDS para PostgreSQL 14 es de 2 GB (2048 MB). Uso el comando SHOW max_wal_size; en la instancia de base de datos de RDS para PostgreSQL para ver su valor actual. |
min_wal_size |
Dinámico | Establece el tamaño mínimo al que reducir el WAL. Para la versión 9.6 de PostgreSQL y anteriores, min_wal_size está en unidades de 16 MB. Para la versión 10 de PostgreSQL y posteriores, min_wal_size está en unidades de 1 MB. |
|
Dinámico | Añade comillas (") a todos los identificadores cuando se generan fragmentos SQL. |
|
Dinámico | Define la estimación del planificador del coste de una página de disco que no se recupera secuencialmente. Este parámetro no tiene valor a menos que la administración del plan de consultas (QPM) esté activada. Cuando QPM está activado, el valor predeterminado para este parámetro es 4 . |
rds.adaptive_autovacuum |
Dinámico | Ajusta automáticamente los parámetros autovacuum cuando se superan los umbrales del identificador de transacción. |
rds.force_ssl |
Dinámico | Requiere el uso de conexiones SSL. El valor predeterminado se establece en 1 (activado) para RDS para la versión 15 de PostgreSQL. Todas las demás versiones de RDS para PostgreSQL 14 principal y anteriores tienen el valor predeterminado establecido en 0 (desactivado). |
|
Estático | Permite escribir archivos de vertidos lógicos en el volumen local. |
|
Dinámico | Establece la retención de registros de manera que Amazon RDS elimina los registros de PostgreSQL que sobrepasan n minutos. |
rds.rds_superuser_reserved_connections |
Estático | Establece el número de ranuras de conexión reservadas para rds_superusers. Este parámetro solo está disponible en la versión 15 y anteriores. Para obtener más información, consulte la documentación de PostgreSQL sobre reserved_connections |
rds.restrict_password_commands |
Estático | Restringe quién puede administrar contraseñas de los usuarios con el rol rds_password . Establezca este parámetro en 1 para habilitar la restricción de contraseñas. El valor predeterminado es 0. |
|
Dinámico | Define el orden de búsqueda del esquema para los nombres que no cumplen los requisitos del esquema. |
|
Dinámico | Define la estimación del planificador del costo de una página de disco que se recupera secuencialmente. |
|
Dinámico | Define el comportamiento de las sesiones para los desencadenadores y las reglas de reescritura. |
|
Estático | Define el número de búferes de memoria compartida utilizados por el servidor. |
|
Estático | Enumera las bibliotecas compartidas para precargar en la instancia de base de datos de RDS para PostgreSQL. Los valores admitidos son: auto_explain, orafce, pgaudit, pglogical, pg_bigm, pg_cron, pg_hint_plan, pg_prewarm, pg_similarity, pg_stat_statements, pg_tle, pg_transport, plprofiler y plrust. |
|
Dinámico | Habilita las conexiones SSL. |
|
Dinámico | Hace que las subtablas se incluyan de manera predeterminada en varios comandos. |
|
Dinámico | Define la cantidad de tráfico que se debe enviar y recibir antes de renegociar las claves de cifrado. |
|
Dinámico | Hace que las cadenas ... traten las barras diagonales invertidas literalmente. |
|
Dinámico | Establece la duración máxima permitida de cualquier declaración. |
|
Dinámico | Habilita los exámenes secuenciales sincronizados. |
|
Dinámico | Define el nivel de sincronización de las transacciones actuales. |
|
Dinámico | Número máximo de retransmisiones de keepalive de TCP. |
|
Dinámico | Tiempo entre emisiones de keepalive de TCP. |
|
Dinámico | Tiempo entre retransmisiones de keepalive de TCP. |
|
Dinámico | Define el número máximo de búferes temporales utilizados por cada sesión. |
temp_file_limit |
Dinámico | Establece el tamaño máximo en KB que pueden alcanzar los archivos temporales. |
|
Dinámico | Define los espacios de tabla que se deben usar para las tablas temporales y los archivos de ordenación. |
|
Dinámico | Define la zona horaria para visualizar e interpretar las marcas temporales. Internet Assigned Numbers Authority (Autoridad de Números Asignados en Internet, IANA por sus siglas en inglés) publica nuevas zonas horarias en https://www.iana.org/time-zones |
|
Dinámico | Recopila información sobre la ejecución de comandos. |
|
Estático | Define el tamaño reservado para pg_stat_activity.current_query en bytes. |
|
Dinámico | Recopila estadísticas sobre la actividad de la base de datos. |
|
Dinámico | Recopila estadísticas de nivel de función sobre la actividad de la base de datos. |
|
Dinámico | Recopila estadísticas temporales sobre la actividad de E/S de la base de datos. |
|
Dinámico | Indica si se debe retrasar una transacción serializable de solo lectura hasta que se pueda comenzar sin posibles errores de serialización. |
|
Dinámico | Define el nivel de aislamiento de las transacciones actuales. |
|
Dinámico | Define el estado de solo lectura de las transacciones actuales. |
|
Dinámico | Trata expr=NULL como expr IS NULL. |
|
Dinámico | Actualiza el título del proceso para mostrar el comando SQL activo. |
|
Dinámico | Retardo del costo del vacío en milisegundos. |
|
Dinámico | Importe del costo del vacío disponible antes del periodo de reposo. |
|
Dinámico | Costo del vacío para una página ensuciada por el vacío. |
|
Dinámico | Costo del vacío para una página encontrada en la caché del búfer. |
|
Dinámico | Costo del vacío para una página no encontrada en la caché del búfer. |
|
Dinámico | Número de transacciones para las que se deben retrasar el vacío y la limpieza en caliente, si los hay. |
|
Dinámico | Antigüedad mínima a la que el vacío debe inmovilizar una fila de una tabla. |
|
Dinámico | Antigüedad a la que el vacío debe examinar una tabla completa para inmovilizar tuplas. |
|
Estático | Define el número de búferes de página de disco de memoria compartida para WAL. |
|
Dinámico | Tiempo de reposo del escritor de WAL entre vaciados de WAL. |
|
Dinámico | Define la memoria máxima que se debe usar para los espacios de trabajo de consulta. |
|
Dinámico | Define cómo se deben codificar los valores binarios en XML. |
|
Dinámico | Define si los datos XML de las operaciones implícitas de análisis y serialización se deben considerar documentos o fragmentos de contenido. |
Amazon RDS usa las unidades predeterminadas de PostgreSQL para todos los parámetros. En la tabla siguiente se muestra la unidad predeterminada de PostgreSQL para cada parámetro.
Nombre del parámetro |
Unidad |
---|---|
| s |
| s |
| s |
| ms |
| ms |
| s |
| s |
| ms |
| 8 KB |
| ms |
| ms |
| ms |
| minutos |
| KB |
| KB |
| KB |
| KB |
| ms |
| ms |
| s |
| s |
| 8 KB |
| 8 KB |
| ms |
| KB |
| s |
| s |
| KB |
| KB |
| 8 KB |
| ms |
| 8 KB |
| ms |
| B |
| ms |
| ms |
| s |