Funciones de Base de datos ilimitada de Aurora PostgreSQL
En la tabla siguiente se muestran las nuevas funciones de Base de datos ilimitada de Aurora PostgreSQL.
nota
Las funciones enumeradas en esta tabla se encuentran en el esquema rds_aurora
. Cuando utilice una función de Base de datos ilimitada, asegúrese de incluir el nombre del objeto totalmente cualificado: rds_aurora
.
.object_name
Función de Base de datos ilimitada de Aurora PostgreSQL | Función de Aurora PostgreSQL correspondiente |
---|---|
limitless_backend_dsid | pg_backend_pid |
limitless_cancel_session | pg_cancel_backend |
limitless_stat_clear_snapshot | pg_stat_clear_snapshot |
limitless_stat_database_size | pg_database_size |
limitless_stat_get_snapshot_timestamp | pg_stat_get_snapshot_timestamp |
limitless_stat_prepared_xacts | pg_prepared_xacts |
limitless_stat_relation_sizes | pg_indexes_size, pg_relation_size, pg_table_size, pg_total_relation_size |
limitless_stat_reset | pg_stat_reset |
limitless_stat_statements_reset | pg_stat_statements_reset |
limitless_stat_system_waits | aurora_stat_system_waits |
limitless_terminate_session | pg_terminate_backend |
limitless_wait_report | aurora_wait_report |
Los siguientes ejemplos proporcionan detalles sobre las funciones de Base de datos ilimitada de Aurora PostgreSQL. Para obtener más información acerca de las funciones de PostgreSQL, consulte Functions and operators
- limitless_backend_dsid
-
La función
limitless_backend_dsid
devuelve el ID de la sesión actual distribuido. Una sesión distribuida se ejecuta en un enrutador de un grupo de particiones de base de datos e implica procesos de backend en una o más particiones del grupo de particiones de base de datos.El siguiente ejemplo muestra cómo utilizar la función
limitless_backend_dsid
.SELECT rds_aurora.limitless_backend_dsid(); limitless_backend_dsid ------------------------ 8CACD7B04D0FC2A5 (1 row)
- limitless_cancel_session
-
La función
limitless_cancel_session
es similar apg_cancel_backend
, pero intenta cancelar todos los procesos de backend relacionados con el ID de sesión distribuido proporcionado mediante el envío de unaSIGINT
(señal de interrupción).El parámetro de entrada es el siguiente:
-
distributed_session_id
(texto): es el ID de la sesión distribuida que se va a cancelar.
Los parámetros de salida son los siguientes:
-
subcluster_id
(texto): es el ID del subclúster al que pertenece este proceso. -
pid
(texto): es el ID del proceso de backend. -
success
(booleano): indica si la cancelación se ha realizado correctamente.
El siguiente ejemplo muestra cómo utilizar la función
limitless_cancel_session
.SELECT * FROM rds_aurora.limitless_cancel_session('940CD5C81E3C796B'); subcluster_id | pid | success ---------------+-------+--------- 1 | 26920 | t (1 row)
-
- limitless_stat_clear_snapshot
-
La función
limitless_stat_clear_snapshot
descarta la instantánea actual de las estadísticas o la información almacenada en caché en todos los nodos.El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_clear_snapshot
.SELECT rds_aurora.limitless_stat_clear_snapshot();
- limitless_stat_database_size
-
La función
limitless_stat_database_size
devuelve los tamaños de una base de datos del grupo de particiones de base de datos.El parámetro de entrada es el siguiente:
-
dbname
(nombre): es la base de datos de la que se van a obtener los tamaños.
Los parámetros de salida son los siguientes:
-
subcluster_id
(texto): es el ID del subclúster al que pertenece este proceso. -
subcluster_type
(texto): es el tipo de subclúster al que pertenece este proceso:router
oshard
. -
db_size
: es el tamaño de la base de datos de este subclúster en bytes.
El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_database_size
.SELECT * FROM rds_aurora.limitless_stat_database_size('postgres_limitless'); subcluster_id | subcluster_type | db_size ---------------+-----------------+---------- 1 | router | 8895919 2 | router | 8904111 3 | shard | 21929391 4 | shard | 21913007 5 | shard | 21831087 (5 rows)
-
- limitless_stat_get_snapshot_timestamp
-
La función
limitless_stat_get_snapshot_timestamp
devuelve la marca de tiempo de la instantánea actual de las estadísticas oNULL
si no se ha realizado ninguna instantánea de estadísticas. Se toma una instantánea la primera vez que se accede a las estadísticas acumuladas de una transacción sistats_fetch_consistency
se establece ensnapshot
. Devuelve una vista consolidada de las marcas temporales de las instantáneas de todos los nodos. Las columnassubcluster_id
ysubcluster_type
muestran de qué nodo provienen los datos.El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_get_snapshot_timestamp
.SELECT * FROM rds_aurora.limitless_stat_get_snapshot_timestamp(); subcluster_id | subcluster_type | snapshot_timestamp ---------------+-----------------+-------------------- 1 | router | 2 | router | 3 | shard | 4 | shard | 5 | shard | (5 rows)
- limitless_stat_prepared_xacts
-
La función
limitless_stat_prepared_xacts
devuelve información sobre las transacciones de todos los nodos que están actualmente preparados para la confirmación en dos fases. Para más información, consulte pg_prepared_xactsen la documentación de PostgreSQL. El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_prepared_xacts
.postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_prepared_xacts; subcluster_id | subcluster_type | transaction_id | gid | prepared | owner_id | database_id ---------------+-----------------+----------------+------------------------------+-------------------------------+------------+-------------------- 8 | shard | 5815978 | 7_4599899_postgres_limitless | 2024-09-03 15:51:17.659603+00 | auroraperf | postgres_limitless 12 | shard | 4599138 | 7_4599899_postgres_limitless | 2024-09-03 15:51:17.659637+00 | auroraperf | postgres_limitless (2 rows)
- limitless_stat_relation_sizes
-
La función
limitless_stat_relation_sizes
devuelve tamaños distintos de una tabla del grupo de particiones de base de datos.Los parámetros de entrada son los siguientes:
-
relnspname
(nombre): es el nombre del esquema que contiene la tabla. -
relname
(nombre): es el nombre de la tabla.
Los parámetros de salida son los siguientes:
-
subcluster_id
(texto): es el ID del subclúster al que pertenece este proceso. -
subcluster_type
(texto): es el tipo de subclúster al que pertenece este proceso:router
oshard
. -
main_size
: es el tamaño en bytes de la bifurcación de datos principal de este nodo. -
fsm_size
: es el tamaño en bytes del mapa del espacio libre de la tabla de este nodo. -
vm_size
: es el tamaño en bytes del mapa de visibilidad de la tabla de este nodo. -
init_size
: es el tamaño en bytes de la inicialización de la tabla en este nodo. -
toast_size
: es el tamaño en bytes de la tabla de TOAST asociada a la tabla de esta bifurcación. -
index_size
: es el tamaño en bytes de todos los índices de la tabla en este nodo. -
total_size
: es el tamaño en bytes de todos los segmentos de la tabla en este nodo.
El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_relation_sizes
(se han omitido algunas columnas).SELECT * FROM rds_aurora.limitless_stat_relation_sizes('public','customers'); subcluster_id | subcluster_type | main_size | fsm_size | vm_size | toast_size | table_size | total_size ---------------+-----------------+-----------+----------+---------+------------+------------+------------ 1 | router | 0 | 0 | 0 | 0 | 0 | 0 2 | router | 0 | 0 | 0 | 0 | 0 | 0 3 | shard | 4169728 | 4177920 | 1392640 | 1392640 | 11132928 | 11132928 4 | shard | 4169728 | 4177920 | 1392640 | 1392640 | 11132928 | 11132928 5 | shard | 3981312 | 4227072 | 1409024 | 1409024 | 11026432 | 11026432 (5 rows)
-
- limitless_stat_reset
-
La función
limitless_stat_reset
restablece todos los contadores de estadísticas de la base de datos actual a cero (0). Sitrack_functions
está activado, la columnastats_reset
delimitless_stat_database
mostrará la última vez que se restablecieron las estadísticas de la base de datos. De forma predeterminada, solo un superusuario puede ejecutarlimitless_stat_reset
. Se puede conceder permiso a otros usuarios con el privilegioEXECUTE
.El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_reset
.SELECT tup_inserted, tup_deleted FROM pg_stat_database WHERE datname = 'postgres_limitless'; tup_inserted | tup_deleted --------------+------------- 896 | 0 (1 row) SELECT rds_aurora.limitless_stat_reset(); limitless_stat_reset --------------------- (1 row) SELECT tup_inserted, tup_deleted FROM pg_stat_database WHERE datname = 'postgres_limitless'; tup_inserted | tup_deleted -------------+------------- 0 | 0 (1 row)
- limitless_stat_statements_reset
-
La función
limitless_stat_statements_reset
descarta las estadísticas recopiladas hasta el momento porlimitless_stat_statements
correspondientes a los parámetrosusername
,dbname
,distributed_query_id
yqueryid
especificados. Si no se especifica alguno de los parámetros, se utiliza el valor predeterminado""
o0
(no válido) para cada uno de ellos y se restablecen las estadísticas que coincidan con otros parámetros. Si no se especifica ningún parámetro, o si todos los parámetros especificados son""
o0
(no son válidos), la función descarta todas las estadísticas. Si se descartan todas las estadísticas de la vistalimitless_stat_statements
, la función también restablece las estadísticas de la vistalimitless_stat_statements_info
.Los parámetros de entrada son los siguientes:
-
username
(nombre): es el usuario que ha consultado la instrucción. -
dbname
(nombre): es la base de datos en la que se ha ejecutado la consulta. -
distributed_query_id
(bigint): es el ID de la consulta principal del nodo coordinador. Esta columna esNULL
si se trata de la consulta principal. El nodo coordinador envía el ID de consulta distribuida a los nodos participantes. Por lo tanto, para los nodos participantes, los valores del ID de consulta distribuida y del ID de consulta son diferentes. -
queryid
(bigint): es el ID de consulta de la instrucción.
El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_statements_reset
para restablecer todas las estadísticas recopiladas porlimitless_stat_statements
.SELECT rds_aurora.limitless_stat_statements_reset();
-
- limitless_stat_system_waits
-
La función
limitless_stat_system_waits
devuelve una vista consolidada de los datos de los eventos de espera deaurora_stat_system_waits
, que informa de la actividad de espera en todo el sistema en una instancia, desde todos los nodos. Las columnassubcluster_id
ysubcluster_type
muestran de qué nodo provienen los datos.El siguiente ejemplo muestra cómo utilizar la función
limitless_stat_system_waits
.postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_system_waits() lssw, pg_catalog.aurora_stat_wait_event() aswe WHERE lssw.event_id=aswe.event_id and aswe.event_name='LimitlessTaskScheduler'; subcluster_id | subcluster_type | type_id | event_id | waits | wait_time | event_name ---------------+-----------------+---------+-----------+--------+--------------+------------------------ 1 | router | 12 | 201326607 | 677068 | 616942216307 | LimitlessTaskScheduler 2 | router | 12 | 201326607 | 678586 | 616939897111 | LimitlessTaskScheduler 3 | shard | 12 | 201326607 | 756640 | 616965545172 | LimitlessTaskScheduler 4 | shard | 12 | 201326607 | 755184 | 616958057620 | LimitlessTaskScheduler 5 | shard | 12 | 201326607 | 757522 | 616963183539 | LimitlessTaskScheduler (5 rows)
- limitless_terminate_session
-
La función
limitless_terminate_session
es similar apg_terminate_backend
, pero intenta finalizar todos los procesos de backend relacionados con el ID de sesión distribuido proporcionado mediante el envío de unaSIGTERM
(señal de interrupción).El parámetro de entrada es el siguiente:
-
distributed_session_id
(texto): es el ID de la sesión distribuida que se va a finalizar.
Los parámetros de salida son los siguientes:
-
subcluster_id
(texto): es el ID del subclúster al que pertenece este proceso. -
pid
(texto): es el ID del proceso de backend. -
success
(booleano): indica si el proceso ha finalizado correctamente.
El siguiente ejemplo muestra cómo utilizar la función
limitless_terminate_session
.SELECT * FROM rds_aurora.limitless_terminate_session('940CD5C81E3C796B'); subcluster_id | pid | success ---------------+-------+--------- 1 | 26920 | t (1 row)
-
- limitless_wait_report
-
La función
limitless_wait_report
devuelve la actividad del evento de espera durante un período de tiempo desde todos los nodos. Las columnassubcluster_id
ysubcluster_type
muestran de qué nodo provienen los datos.Los parámetros de salida son los siguientes:
-
subcluster_id
(texto): es el ID del subclúster al que pertenece este proceso. -
subcluster_type
(texto): es el tipo de subclúster al que pertenece este proceso:router
oshard
.
El resto de las columnas son las mismas que en
aurora_wait_report
.El siguiente ejemplo muestra cómo utilizar la función
limitless_wait_report
.postgres_limitless=> select * from rds_aurora.limitless_wait_report(); subcluster_id | subcluster_type | type_name | event_name | waits | wait_time | ms_per_wait | waits_per_xact | ms_per_xact ---------------+-----------------+-----------+------------+-------+-----------+-------------+--------------- +------------- 1 | router | Client | ClientRead | 57 | 741550.14 | 13009.652 | 0.19 | 2505.237 5 | shard | Client | ClientRead | 54 | 738897.68 | 13683.290 | 0.18 | 2496.276 4 | shard | Client | ClientRead | 54 | 738859.53 | 13682.584 | 0.18 | 2496.147 2 | router | Client | ClientRead | 53 | 719223.64 | 13570.257 | 0.18 | 2429.810 3 | shard | Client | ClientRead | 54 | 461720.40 | 8550.378 | 0.18 | 1559.86
-