aurora_stat_dml_activity - Amazon Aurora

aurora_stat_dml_activity

Informa la actividad acumulativa para cada tipo de operación de lenguaje de manipulación de datos (DML) en una base de datos en un clúster de Aurora PostgreSQL.

Sintaxis

aurora_stat_dml_activity(database_oid)

Argumentos

database_oid

ID de objeto (OID) de la base de datos en el clúster de Aurora PostgreSQL.

Tipo de retorno

Registro SETOF

Notas de uso

La función aurora_stat_dml_activity solo está disponible con Aurora PostgreSQL versión 3.1 compatible con el motor de PostgreSQL 11.6 y versiones posteriores.

Utilice esta función en clústeres de Aurora PostgreSQL con un gran número de bases de datos para identificar qué bases de datos tienen más actividad DML o más lenta, o ambas.

La función aurora_stat_dml_activity devuelve el número de veces que se ejecutaron las operaciones y la latencia acumulada en microsegundos para las operaciones SELECT, INSERT, UPDATE y DELETE. El informe solo incluye operaciones DML correctas.

Puede restablecer esta estadística mediante la función de acceso a estadísticas de PostgreSQL pg_stat_reset. Puede comprobar la última vez que se restableció esta estadística mediante la opción de función pg_stat_get_db_stat_reset_time. Para obtener más información acerca de las funciones de acceso a las estadísticas de PostgreSQL, consulte Recopilador de estadísticas en la documentación de PostgreSQL.

Ejemplos

En el siguiente ejemplo se muestra cómo informar de las estadísticas de actividad de DML para la base de datos conectada.

––Define the oid variable from connected database by using \gset => SELECT oid, datname FROM pg_database WHERE datname=(select current_database()) \gset => SELECT * FROM aurora_stat_dml_activity(:oid); select_count | select_latency_microsecs | insert_count | insert_latency_microsecs | update_count | update_latency_microsecs | delete_count | delete_latency_microsecs --------------+--------------------------+--------------+--------------------------+--------------+--------------------------+--------------+-------------------------- 178957 | 66684115 | 171065 | 28876649 | 519538 | 1454579206167 | 1 | 53027 –– Showing the same results with expanded display on => SELECT * FROM aurora_stat_dml_activity(:oid); -[ RECORD 1 ]------------+-------------- select_count | 178957 select_latency_microsecs | 66684115 insert_count | 171065 insert_latency_microsecs | 28876649 update_count | 519538 update_latency_microsecs | 1454579206167 delete_count | 1 delete_latency_microsecs | 53027

En el ejemplo siguiente se muestran las estadísticas de actividad de DML para todas las bases de datos del clúster de Aurora PostgreSQL. Este clúster tiene dos bases de datos: postgres y mydb. La lista separada por comas corresponde a los campos select_count, select_latency_microsecs, insert_count, insert_latency_microsecs, update_count, update_latency_microsecs, delete_count y delete_latency_microsecs.

Aurora PostgreSQL crea y utiliza una base de datos del sistema llamada rdsadmin para admitir operaciones administrativas como copias de seguridad, restauraciones, comprobaciones de estado, replicación, etc. Estas operaciones DML no tienen ningún impacto en su clúster de Aurora PostgreSQL.

=> SELECT oid, datname, aurora_stat_dml_activity(oid) FROM pg_database; oid | datname | aurora_stat_dml_activity -------+----------------+----------------------------------------------------------------- 14006 | template0 | (,,,,,,,) 16384 | rdsadmin | (2346623,1211703821,4297518,817184554,0,0,0,0) 1 | template1 | (,,,,,,,) 14007 | postgres | (178961,66716329,171065,28876649,519538,1454579206167,1,53027) 16401 | mydb | (200246,64302436,200036,107101855,600000,83659417514,0,0)

En el siguiente ejemplo se muestran las estadísticas de actividad de DML para todas las bases de datos, organizadas en columnas para una mejor legibilidad.

SELECT db.datname, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 1), '()') AS select_count, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 2), '()') AS select_latency_microsecs, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 3), '()') AS insert_count, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 4), '()') AS insert_latency_microsecs, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 5), '()') AS update_count, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 6), '()') AS update_latency_microsecs, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 7), '()') AS delete_count, BTRIM(SPLIT_PART(db.asdmla::TEXT, ',', 8), '()') AS delete_latency_microsecs FROM (SELECT datname, aurora_stat_dml_activity(oid) AS asdmla FROM pg_database ) AS db; datname | select_count | select_latency_microsecs | insert_count | insert_latency_microsecs | update_count | update_latency_microsecs | delete_count | delete_latency_microsecs ----------------+--------------+--------------------------+--------------+--------------------------+--------------+--------------------------+--------------+-------------------------- template0 | | | | | | | | rdsadmin | 4206523 | 2478812333 | 7009414 | 1338482258 | 0 | 0 | 0 | 0 template1 | | | | | | | | fault_test | 66 | 452099 | 0 | 0 | 0 | 0 | 0 | 0 db_access_test | 1 | 5982 | 0 | 0 | 0 | 0 | 0 | 0 postgres | 42035 | 95179203 | 5752 | 2678832898 | 21157 | 441883182488 | 2 | 1520 mydb | 71 | 453514 | 0 | 0 | 1 | 190 | 1 | 152

En el ejemplo siguiente se muestra la latencia acumulativa media (latencia acumulada dividida por recuento) para cada operación DML de la base de datos con el OID16401.

=> SELECT select_count, select_latency_microsecs, select_latency_microsecs/NULLIF(select_count,0) select_latency_per_exec, insert_count, insert_latency_microsecs, insert_latency_microsecs/NULLIF(insert_count,0) insert_latency_per_exec, update_count, update_latency_microsecs, update_latency_microsecs/NULLIF(update_count,0) update_latency_per_exec, delete_count, delete_latency_microsecs, delete_latency_microsecs/NULLIF(delete_count,0) delete_latency_per_exec FROM aurora_stat_dml_activity(16401); -[ RECORD 1 ]------------+------------- select_count | 451312 select_latency_microsecs | 80205857 select_latency_per_exec | 177 insert_count | 451001 insert_latency_microsecs | 123667646 insert_latency_per_exec | 274 update_count | 1353067 update_latency_microsecs | 200900695615 update_latency_per_exec | 148478 delete_count | 12 delete_latency_microsecs | 448 delete_latency_per_exec | 37