Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 21/09/2012 09:35:08
- bcarriere
- Membre
pgstatpack et pg_stat_statements
Bonjour,
J'ai installé pgstatpack et pris des clichés, tout se passe bien.
Puis je charge pg_stat_statements tout se apsse correctement pour cet outil par contre je rencontre cette installation me génère des erreurs sur pgstatpack, je n'arrive plus à prendre de clichés:
demo=# SELECT pgstatspack_snap('after pg_stat_statements');
ERROR: missing FROM-clause entry for table "n"
LIGNE 11 : join pgstatspack_names n1 on s.query=n.name
^
REQUÃTE : INSERT INTO pgstatspack_statements
( snapid, calls, total_time, "rows", query_id, user_name_id)
SELECT
spid as snapid,
s.calls as calls,
s.total_time as total_time,
s.rows as rows,
n1.nameid,
n2.nameid
FROM pg_stat_statements s
join pgstatspack_names n1 on s.query=n.name
join pgstatspack_names n2 on s.pg_get_userbyid(s.userid)=n2.name
WHERE dbid=(select oid from pg_database where datname=current_database())
ORDER BY total_time
CONTEXTE : PL/pgSQL function "pgstatspack_snap" line 186 at SQL statement
Si je redésactive pg_stat_statements je peux reprendre des clichés correctement.
Hors ligne
#2 21/09/2012 10:11:24
- frost242
- Administrateur
Re : pgstatpack et pg_stat_statements
Bonjour,
Dans un premier temps, il va vous falloir modifier le script sql/pgstatspack_create_snap.sql pour corriger la condition jointure mal écrite (ligne 203 du script SQL):
join pgstatspack_names n1 on s.query=n1.name
Une fois que c'est fait, il vous faudra recréer la fonction pgstatspack_snap en exécutant le script sur la base sur laquelle vous avez rencontrez ce problème.
Je remonte le bug à l'auteur.
Cordialement,
Thomas
Thomas Reiss
Hors ligne
#3 21/09/2012 11:51:56
- frost242
- Administrateur
Re : pgstatpack et pg_stat_statements
Uwe Bartels va réaliser le correctif. Une nouvelle version sera disponible dans quelques jours normalement.
Thomas Reiss
Hors ligne
#4 21/09/2012 15:56:23
- bcarriere
- Membre
Re : pgstatpack et pg_stat_statements
après correction j'ai l'erreur suivante :
demo=# select pgstatspack_snap('mon commentaire2');
ERROR: schema "s" does not exist
CONTEXTE : SQL statement "INSERT INTO pgstatspack_statements
( snapid, calls, total_time, "rows", query_id, user_name_id)
SELECT
spid as snapid,
s.calls as calls,
s.total_time as total_time,
s.rows as rows,
n1.nameid,
n2.nameid
FROM pg_stat_statements s
join pgstatspack_names n1 on s.query=n1.name
join pgstatspack_names n2 on s.pg_get_userbyid(s.userid)=n2.name
WHERE dbid=(select oid from pg_database where datname=current_database())
ORDER BY total_time"
PL/pgSQL function "pgstatspack_snap" line 186 at SQL statement
Hors ligne
#5 25/09/2012 23:28:59
- frost242
- Administrateur
Re : pgstatpack et pg_stat_statements
Bonjour,
Désolé de ne pas avoir donné de nouvelles depuis. L'auteur a poussé le correctif adéquat pour gérer correctement pg_stat_statements: le patch appliqué.
Vous devriez pouvoir récupérer la dernière version et faire fonctionner pgstatspack correctement dorénavant.
Thomas Reiss
Hors ligne
#6 26/09/2012 09:49:27
- bcarriere
- Membre
Re : pgstatpack et pg_stat_statements
APRES CORRECTION ET REINSTALLATION DE PGSTATSPACK J'AI TOUJOURS UNE ERREUR :
[BRICE] 26/09/12 09:16:47 >./remove_pgstats.sh
Removing Statistics Package for database template1
Removing Statistics Package for database demo
[BRICE] 26/09/12 09:16:47 >./install_pgstats.sh
Results for database template1
Installing Statistics Package for database template1
Results for database demo
Installing Statistics Package for database demo
[BRICE] 26/09/12 09:16:47 >psql -d demo
psql (9.1.3)
Saisissez « help » pour l'aide.
demo=# select pgstatspack_snap('mon com');
ERROR: schema "s" does not exist
CONTEXTE : SQL statement "INSERT INTO pgstatspack_statements
( snapid, calls, total_time, "rows", query_id, user_name_id)
SELECT
spid as snapid,
s.calls as calls,
s.total_time as total_time,
s.rows as rows,
n1.nameid,
n2.nameid
FROM pg_stat_statements s
join pgstatspack_names n1 on s.query=n1.name
join pgstatspack_names n2 on s.pg_get_userbyid(s.userid)=n2.name
WHERE dbid=(select oid from pg_database where datname=current_database())
ORDER BY total_time"
PL/pgSQL function "pgstatspack_snap" line 186 at SQL statement
Hors ligne
#7 26/09/2012 10:02:43
- bcarriere
- Membre
Re : pgstatpack et pg_stat_statements
En fait il n'y a pas que vers la ligne 200 à corriger :
71c71
< coalesce(pg_relation_size(t.relid),0)+coalesce(pg_relation_size(s.relid),0) as tbl_size,
---
> pg_relation_size(t.relid)+pg_relation_size(s.relid) as tbl_size,
203,204c203,204
< join pgstatspack_names n1 on s.query=n1.name
< join pgstatspack_names n2 on pg_get_userbyid(s.userid)=n2.name
---
> join pgstatspack_names n1 on s.query=n.name
> join pgstatspack_names n2 on s.pg_get_userbyid(s.userid)=n2.name
cela fonctionne maintenant ,
Merci
Hors ligne
Pages : 1