PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 12/10/2022 16:47:43

Geo-x
Membre

Analyse nombre transactions

Bonjour @ tous,

Serait-il possible de récupérer le nombre de transactions sur une table donnée ?

J'ai testé depuis la table pg_stat_activity mais elle ne semble pas contenir grand chose.

Merci.

Geo-x

Hors ligne

#2 12/10/2022 18:45:41

rjuju
Administrateur

Re : Analyse nombre transactions

Bonjour,


Quel problème cherchez-vous à résoudre exactement?  Un nombre de transaction sur une table n'est pas très parlant.

Hors ligne

#3 13/10/2022 08:26:31

Geo-x
Membre

Re : Analyse nombre transactions

Bonjour rjuju,

Il s’agit de connaître le nombre d’INSERT et d’UPDATE sur une plage horaire donnée.

Hors ligne

#4 13/10/2022 09:24:54

rjuju
Administrateur

Re : Analyse nombre transactions

Vous pouvez utiliser pg_stat_user_tables.n_tup_ins et n_tup_upd.  Cela correspond au nombre de lignes insérées et supprimées pour chaque table.  Comme il s'agit d'un nombre cumulé, vous devez mettre en place une tâche planifiée afin de sauvegarder les valeurs à intervalle régulier si vous voulez extraire l'évolution sur un intervalle donné.

Hors ligne

#5 11/11/2022 14:17:41

bambaqos
Membre

Re : Analyse nombre transactions

Bonjour rjuju,
Pouvez vous nous donner une idee de ce script?

Hors ligne

#6 11/11/2022 16:36:09

rjuju
Administrateur

Re : Analyse nombre transactions

Rien de bien fou, vous pouvez créer la table qu'il faut avec par exemple CREATE TABLE nom_table AS SELECT now(), schemaname, relname, n_tup_ins, ... FROM pg_stat_user_tables LIMIT 1;

Et ensuite à intervalle régulier, INSERT INTO nom_table SELECT now(), schemaname, relname, n_tup_ins, ... FROM pg_stat_user_tables


Vous pouvez ensuite requêter la table simplement pour voir le delta entre 2 snapshots.

Hors ligne

Pied de page des forums