PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Collecter de grands ensembles statistiques avec pg_stat_statements ?

1.

d'après ce que j'ai lu, il hache la requête et la conserve dans la base de données, en enregistrant le texte dans FS. Donc le souci suivant est plus attendu que la mémoire partagée surchargée :

le hachage du texte est tellement plus petit que le texte, que je pense que vous ne devriez pas vous soucier de la consommation de mémoire d'extension en comparant les longues requêtes. Surtout sachant que l'extension utilise Query Analyzer (qui fonctionnera pour TOUS requête N'IMPORTE QUOI ):

Définition de pg_stat_statements.max 10 fois plus grand devrait prendre 10 fois plus de mémoire partagée, je crois. Les pousses doivent être linéaires . Ce n'est pas indiqué dans la documentation , mais il devrait logiquement en être ainsi.

Il n'y a pas de réponse s'il est sûr ou non de définir le paramètre sur une valeur distincte, car il n'y a pas de données sur les autres valeurs de configuration et le matériel dont vous disposez. Mais comme la croissance doit être linéaire, considérez cette réponse :"si vous la réglez sur 5K et que le temps d'exécution de la requête n'a presque rien augmenté, alors la définir sur 50K la prolongera presque rien fois dix". BTW, ma question - qui va creuser 50000 déclarations lentes ? :)

2.

Cette extension fait déjà une pré-agrégation pour la déclaration "dis-valued". Vous pouvez le sélectionner directement sur la base de données, donc déplacer des données vers une autre base de données et les sélectionner là-bas ne vous donnera que l'avantage de décharger la base de données d'origine et d'en charger une autre. En d'autres termes, vous économisez 50 Mo pour une requête sur l'original, mais vous dépensez la même chose pour une autre. Est-ce que ça fait du sens? Pour moi oui. C'est ce que je fais moi-même. Mais j'enregistre également les plans d'exécution pour l'instruction (qui ne fait pas partie de l'extension pg_stat_statements). Je pense que cela dépend de ce que vous avez et de ce que vous avez. Il n'y a certainement pas besoin de cela juste à cause d'un certain nombre de requêtes. Encore une fois, sauf si vous avez un fichier si volumineux que l'extension peut