Uso de parámetros en su instancia de base de datos de RDS for PostgreSQL - Amazon Relational Database Service

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 Trabajo con los grupos de parámetros.

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 en la documentación de PostgreSQL.

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 Trabajo con los grupos de parámetros.

Hay dos tipos de parámetros de base de datos RDS for 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 los parámetros disponibles en una instancia de base de datos RDS for PostgreSQL.

Nombre del parámetro

Apply_Type

Descripción

application_name

Dinámico Define el nombre de la aplicación sobre la que informarán las estadísticas y los registros.

array_nulls

Dinámico Permite la entrada de elementos NULL en matrices.

authentication_timeout

Dinámico Establece el tiempo máximo permitido para completar una autenticación del cliente.

autovacuum

Dinámico Inicia el subproceso de autovacuum.

autovacuum_analyze_scale_factor

Dinámico Número de inserciones, actualizaciones o eliminaciones de tuplas previas al análisis como una fracción de reltuples.

autovacuum_analyze_threshold

Dinámico Número mínimo de inserciones, actualizaciones o eliminaciones de tuplas previas al análisis.

autovacuum_freeze_max_age

Estático Antigüedad con la que se debe aplicar autovacuum a una tabla para impedir el reinicio de los ID.

autovacuum_naptime

Dinámico Tiempo de reposo entre ejecuciones de autovacuum.

autovacuum_max_workers

Estático Define el número máximo de procesos de empleados de autovacuum que se ejecutan simultáneamente.

autovacuum_vacuum_cost_delay

Dinámico Retardo del costo del vacío, en milisegundos, para autovacuum.

autovacuum_vacuum_cost_limit

Dinámico Importe del costo del vacío disponible antes del periodo de reposo para autovacuum.

autovacuum_vacuum_scale_factor

Dinámico Número de actualizaciones o eliminaciones de tuplas previas al vacío como una fracción de reltuples.

autovacuum_vacuum_threshold

Dinámico Número mínimo de actualizaciones o eliminaciones de tuplas previas al vacío.

backslash_quote

Dinámico Define si se admite una barra diagonal invertida (\) en el texto de las cadenas.

bgwriter_delay

Dinámico Tiempo de reposo del escritor de segundo plano entre una ronda y la siguiente.

bgwriter_lru_maxpages

Dinámico Número máximo de páginas de LRU del escritor de segundo plano que se deben vaciar en cada ronda.

bgwriter_lru_multiplier

Dinámico Múltiplo del uso medio del búfer que se debe liberar en cada ronda.

bytea_output

Dinámico Establece el formato de salida para bytes.

check_function_bodies

Dinámico Comprueba los cuerpos de las funciones durante la ejecución de CREATE FUNCTION.

checkpoint_completion_target

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.

checkpoint_segments

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.

checkpoint_timeout

Dinámico Define el tiempo máximo entre los puntos de comprobación de WAL automáticos.

checkpoint_warning

Dinámico Habilita las advertencias si los segmentos del punto de comprobación se rellenan con una frecuencia superior a esta.

client_encoding

Dinámico Define la codificación del conjunto de caracteres del cliente.

client_min_messages

Dinámico Define los niveles de los mensajes que se envían al cliente.

commit_delay

Dinámico Define el retardo en microsegundos entre la confirmación de la transacción y el vaciado de WAL al disco.

commit_siblings

Dinámico Define el número mínimo de transacciones abiertas concurrentes antes de ejecutar commit_delay.

constraint_exclusion

Dinámico Habilita el planificador para que use restricciones con el fin de optimizar las consultas.

cpu_index_tuple_cost

Dinámico Define la estimación del planificador del costo de procesar cada entrada de índice durante un examen del índice.

cpu_operator_cost

Dinámico Define la estimación del planificador del costo de procesar cada llamada a operador o a función.

cpu_tuple_cost

Dinámico Define la estimación del planificador del costo de procesar cada tupla (fila).

cursor_tuple_fraction

Dinámico Define la estimación del planificador de la fracción de las filas de un cursor que se recuperarán.

datestyle

Dinámico Define el formato de visualización para los valores de fecha y hora.

deadlock_timeout

Dinámico Define el tiempo de espera de una interrupción antes de comprobar si se ha producido un bloqueo.

debug_pretty_print

Dinámico Aplica una sangría a las visualizaciones del árbol de análisis y de planificación.

debug_print_parse

Dinámico Registra el árbol de análisis de cada consulta.

debug_print_plan

Dinámico Registra el plan de ejecución de cada consulta.

debug_print_rewritten

Dinámico Registra el árbol de análisis reescrito de cada consulta.

default_statistics_target

Dinámico Define el objetivo de estadística predeterminado.

default_tablespace

Dinámico Define el espacio de tabla predeterminado en el que se deben crear las tablas y los índices.

default_transaction_deferrable

Dinámico Define el estado diferible predeterminado de las nuevas transacciones.

default_transaction_isolation

Dinámico Define el nivel de aislamiento de cada nueva transacción.

default_transaction_read_only

Dinámico Define el estado de solo lectura predeterminado de las nuevas transacciones.

default_with_oids

Dinámico Crea nuevas tablas con ID de objeto (OID) de forma predeterminada.

effective_cache_size

Dinámico Define la suposición del planificador sobre el tamaño de la caché de disco.

effective_io_concurrency

Dinámico Número de solicitudes simultáneas que el subsistema del disco puede gestionar de un modo eficiente.

enable_bitmapscan

Dinámico Habilita el uso de planes de examen de mapas de bits por parte del planificador.

enable_hashagg

Dinámico Habilita el uso de planes de agregación con hash por parte del planificador.

enable_hashjoin

Dinámico Habilita el uso de planes de unión con hash por parte del planificador.

enable_indexscan

Dinámico Habilita el uso de planes de examen de índice por parte del planificador.

enable_material

Dinámico Habilita el uso de la materialización por parte del planificador.

enable_mergejoin

Dinámico Habilita el uso de planes de unión de fusión por parte del planificador.

enable_nestloop

Dinámico Habilita el uso de planes de unión de bucle anidado por parte del planificador.

enable_seqscan

Dinámico Habilita el uso de planes de examen secuencial por parte del planificador.

enable_sort

Dinámico Habilita el uso de pasos de ordenación explícitos por parte del planificador.

enable_tidscan

Dinámico Habilita el uso de planes de examen de TID por parte del planificador.

escape_string_warning

Dinámico Advierte sobre los caracteres de escape de barra diagonal invertida (\) en el texto de las cadenas ordinarias.

extra_float_digits

Dinámico Define el número de dígitos que se muestran para los valores de punto flotante.

from_collapse_limit

Dinámico Define el tamaño FROM-list por encima del cual las subconsultas no se contraen.

fsync

Dinámico Fuerza la sincronización de las actualizaciones del disco.

full_page_writes

Dinámico Escribe páginas completas en WAL la primera vez que se modifican después de un punto de comprobación.

geqo

Dinámico Habilita la optimización genética de consultas.

geqo_effort

Dinámico GEQO: effort se usa para definir el ajuste predeterminado de otros parámetros de GEQO.

geqo_generations

Dinámico GEQO: número de iteraciones del algoritmo.

geqo_pool_size

Dinámico GEQO: número de individuos de la población.

geqo_seed

Dinámico GEQO: valor de inicialización para la selección de ruta aleatoria.

geqo_selection_bias

Dinámico GEQO: presión selectiva dentro de la población.

geqo_threshold

Dinámico Define el umbral de los elementos FROM por encima de los cuales se usa GEQO.

gin_fuzzy_search_limit

Dinámico Define el resultado máximo permitido para la búsqueda exacta por GIN.

hot_standby_feedback

Dinámico Determina si un servidor de espera en caliente envía mensajes de retroalimentación al servidor primario o de subida en espera.

intervalstyle

Dinámico Define el formato de visualización para los valores de intervalo.

join_collapse_limit

Dinámico Define el tamaño FROM-list por encima del cual las construcciones JOIN no se aplanan.

lc_messages

Dinámico Define el idioma en el que se muestran los mensajes.

lc_monetary

Dinámico Define la configuración regional para el formato de las cantidades monetarias.

lc_numeric

Dinámico Define la configuración regional para el formato de los números.

lc_time

Dinámico Define la configuración regional para el formato de los valores de fecha y hora.

log_autovacuum_min_duration

Dinámico Define el tiempo de ejecución mínimo por encima del cual se registrarán las acciones de autovacuum.

log_checkpoints

Dinámico Registra cada punto de comprobación.

log_connections

Dinámico Registra cada conexión realizada correctamente.

log_disconnections

Dinámico Registra el final de una sesión, incluida su duración.

log_duration

Dinámico Registra la duración de cada declaración de SQL completada.

log_error_verbosity

Dinámico Define el detalle de los mensajes registrados.

log_executor_stats

Dinámico Escribe las estadísticas de rendimiento del ejecutor en el registro del servidor.

log_filename

Dinámico Define el patrón del nombre de archivo para los archivos de registro.

log_hostname

Dinámico Registra el nombre del host en los registros de conexión.

log_lock_waits

Dinámico Registra las esperas de bloqueo largas.

log_min_duration_statement

Dinámico Define el tiempo de ejecución mínimo por encima del cual se registrarán las instrucciones.

log_min_error_statement

Dinámico Hace que todas las declaraciones que generen un error en este nivel o por encima de él se registren.

log_min_messages

Dinámico Define los niveles de los mensajes que se registran.

log_parser_stats

Dinámico Escribe las estadísticas de desempeño del analizador en el registro del servidor.

log_planner_stats

Dinámico Escribe las estadísticas de desempeño del planificador en el registro del servidor.

log_rotation_age

Dinámico Se producirá una rotación automática del archivo de registro después de N minutos.

log_rotation_size

Dinámico Se producirá una rotación automática del archivo de registro después de N kilobytes.

log_statement

Dinámico Define el tipo de declaraciones que se deben registrar.

log_statement_stats

Dinámico Escribe las estadísticas de desempeño acumulativas en el registro del servidor.

log_temp_files

Dinámico Registra el uso de archivos temporales con un tamaño superior a este número de kilobytes.

maintenance_work_mem

Dinámico Define la memoria máxima que se debe usar para las operaciones de mantenimiento.

max_connections

Estático Define el número máximo de conexiones simultáneas.

max_files_per_process

Estático Define el número máximo de archivos abiertos simultáneamente para cada proceso del servidor.

max_locks_per_transaction

Estático Define el número máximo de bloqueos por transacción.

max_pred_locks_per_transaction

Estático Define el número máximo de bloqueos de predicado por transacción.

max_prepared_transactions

Estático Define el número máximo de transacciones preparadas simultáneamente.

max_stack_depth

Dinámico Define la profundidad máxima de la pila en kilobytes.

max_standby_archive_delay

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.

max_standby_streaming_delay

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 que activa el punto de comprobación. Para la versión 9.6 de PostgreSQL y anteriores, max_wal_size está en unidades de 16 MB. Para la versión 10 de PostgreSQL y posteriores, max_wal_size está en unidades de 1 MB.
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.

quote_all_identifiers

Dinámico Añade comillas (") a todos los identificadores cuando se generan fragmentos SQL.

random_page_cost

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.log_retention_period

Dinámico Establece la retención de registros de manera que Amazon RDS elimina los registros de PostgreSQL que sobrepasan n minutos.
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.

search_path

Dinámico Define el orden de búsqueda del esquema para los nombres que no cumplen los requisitos del esquema.

seq_page_cost

Dinámico Define la estimación del planificador del costo de una página de disco que se recupera secuencialmente.

session_replication_role

Dinámico Define el comportamiento de las sesiones para los desencadenadores y las reglas de reescritura.

shared_buffers

Estático Define el número de búferes de memoria compartida utilizados por el servidor.

ssl

Estático Habilita las conexiones SSL.

sql_inheritance

Dinámico Hace que las subtablas se incluyan de manera predeterminada en varios comandos.

ssl_renegotiation_limit

Dinámico Define la cantidad de tráfico que se debe enviar y recibir antes de renegociar las claves de cifrado.

standard_conforming_strings

Dinámico Hace que las cadenas ... traten las barras diagonales invertidas literalmente.

statement_timeout

Dinámico Establece la duración máxima permitida de cualquier declaración.

synchronize_seqscans

Dinámico Habilita los exámenes secuenciales sincronizados.

synchronous_commit

Dinámico Define el nivel de sincronización de las transacciones actuales.

tcp_keepalives_count

Dinámico Número máximo de retransmisiones de keepalive de TCP.

tcp_keepalives_idle

Dinámico Tiempo entre emisiones de keepalive de TCP.

tcp_keepalives_interval

Dinámico Tiempo entre retransmisiones de keepalive de TCP.

temp_buffers

Dinámico Define el número máximo de búferes temporales utilizados por cada sesión.
temp_file_limit Estático Establece el tamaño máximo en KB que pueden alcanzar los archivos temporales.

temp_tablespaces

Dinámico Define los espacios de tabla que se deben usar para las tablas temporales y los archivos de ordenación.

timezone

Dinámico Define la zona horaria para visualizar e interpretar las marcas temporales.

track_activities

Dinámico Recopila información sobre la ejecución de comandos.

track_activity_query_size

Estático Define el tamaño reservado para pg_stat_activity.current_query en bytes.

track_counts

Dinámico Recopila estadísticas sobre la actividad de la base de datos.

track_functions

Dinámico Recopila estadísticas de nivel de función sobre la actividad de la base de datos.

track_io_timing

Dinámico Recopila estadísticas temporales sobre la actividad de E/S de la base de datos.

transaction_deferrable

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.

transaction_isolation

Dinámico Define el nivel de aislamiento de las transacciones actuales.

transaction_read_only

Dinámico Define el estado de solo lectura de las transacciones actuales.

transform_null_equals

Dinámico Trata expr=NULL como expr IS NULL.

update_process_title

Dinámico Actualiza el título del proceso para mostrar el comando SQL activo.

vacuum_cost_delay

Dinámico Retardo del costo del vacío en milisegundos.

vacuum_cost_limit

Dinámico Importe del costo del vacío disponible antes del periodo de reposo.

vacuum_cost_page_dirty

Dinámico Costo del vacío para una página ensuciada por el vacío.

vacuum_cost_page_hit

Dinámico Costo del vacío para una página encontrada en la caché del búfer.

vacuum_cost_page_miss

Dinámico Costo del vacío para una página no encontrada en la caché del búfer.

vacuum_defer_cleanup_age

Dinámico Número de transacciones para las que se deben retrasar el vacío y la limpieza en caliente, si los hay.

vacuum_freeze_min_age

Dinámico Antigüedad mínima a la que el vacío debe inmovilizar una fila de una tabla.

vacuum_freeze_table_age

Dinámico Antigüedad a la que el vacío debe examinar una tabla completa para inmovilizar tuplas.

wal_buffers

Estático Define el número de búferes de página de disco de memoria compartida para WAL.

wal_writer_delay

Dinámico Tiempo de reposo del escritor de WAL entre vaciados de WAL.

work_mem

Dinámico Define la memoria máxima que se debe usar para los espacios de trabajo de consulta.

xmlbinary

Dinámico Define cómo se deben codificar los valores binarios en XML.

xmloption

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 muestran el valor y la unidad predeterminados de PostgreSQL para cada parámetro.

Nombre del parámetro

Unidad

archive_timeout

s

authentication_timeout

s

autovacuum_naptime

s

autovacuum_vacuum_cost_delay

ms

bgwriter_delay

ms

checkpoint_timeout

s

checkpoint_warning

s

deadlock_timeout

ms

effective_cache_size

8 KB

lock_timeout

ms

log_autovacuum_min_duration

ms

log_min_duration_statement

ms

log_rotation_age

minutos

log_rotation_size

KB

log_temp_files

KB

maintenance_work_mem

KB

max_stack_depth

KB

max_standby_archive_delay

ms

max_standby_streaming_delay

ms

post_auth_delay

s

pre_auth_delay

s

segment_size

8 KB

shared_buffers

8 KB

statement_timeout

ms

ssl_renegotiation_limit

KB

tcp_keepalives_idle

s

tcp_keepalives_interval

s

temp_file_limit

KB

work_mem

KB

temp_buffers

8 KB

vacuum_cost_delay

ms

wal_buffers

8 KB

wal_receiver_timeout

ms

wal_segment_size

8 KB

wal_sender_timeout

ms

wal_writer_delay

ms

wal_receiver_status_interval

s