aurora_stat_dml_activity - Amazon Aurora

aurora_stat_dml_activity

Relata a atividade cumulativa para cada tipo de operação de linguagem de manipulação de dados (DML) em um banco de dados em um cluster do Aurora PostgreSQL.

Sintaxe

aurora_stat_dml_activity(database_oid)

Argumentos

database_oid

O ID do objeto (OID) do banco de dados no cluster do Aurora PostgreSQL.

Tipo de retorno

Registro SETOF

Observações de uso

A função aurora_stat_dml_activity só está disponível com o Aurora PostgreSQL versão 3.1 compatível com o mecanismo do PostgreSQL 11.6 e posteriores.

Use essa função em clusters do Aurora PostgreSQL com um grande número de bancos de dados para identificar quais bancos de dados apresentam mais atividades de DML ou atividades de DML mais lentas ou ambas.

A função aurora_stat_dml_activity retorna o número de vezes que as operações foram executadas e a latência cumulativa em microssegundos para as operações SELECT, INSERT, UPDATE e DELETE. O relatório inclui apenas operações DML bem-sucedidas.

Você pode redefinir essa estatística usando a função de acesso de estatísticas do PostgreSQL pg_stat_reset. Você pode verificar a última vez que esta estatística foi redefinida usando a função pg_stat_get_db_stat_reset_time. Para obter mais informações sobre as funções de acesso a estatísticas do PostgreSQL, consulte Coletor de estatísticas na documentação do PostgreSQL.

Exemplos

O exemplo a seguir mostra como relatar estatísticas de atividades de DML para o banco de dados conectado.

––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

O exemplo a seguir mostra estatísticas de atividades de DML para todos os bancos de dados no cluster do Aurora PostgreSQL. Esse cluster tem dois bancos de dados,postgres e mydb. A lista separada por vírgulas corresponde aos campos select_count, select_latency_microsecs, insert_count, insert_latency_microsecs, update_count, update_latency_microsecs, delete_count e delete_latency_microsecs.

O Aurora PostgreSQL cria e usa um banco de dados do sistema chamado rdsadmin para oferecer suporte a operações administrativas, como backups, restaurações, verificações de integridade, replicação e assim por diante. Essas operações de DML não têm impacto no cluster do 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)

O exemplo a seguir mostra estatísticas de atividade DML para todos os bancos de dados, organizadas em colunas para melhor legibilidade.

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

O exemplo a seguir mostra a latência cumulativa média (latência cumulativa dividida por contagem) para cada operação de DML para o banco de dados com o OID 16401.

=> 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