2017-08-10 6 views
1

Nous avons une base de données postgres Heroku qui exécute la version 9.6.1colonne ID_requête manquant dans pg_stat_statements tableau

Lors de la mise à niveau de notre installation pghero à la nouvelle version 2.0.2, nous obtenons des échecs que pghero n'est pas en mesure pour trouver la colonne queryid dans la table pg_stat_statements. L'extension pg_stat_statements est installée.

2017-08-10T09:54:44.002042+00:00 app[web.1]: Completed 500 Internal Server Error in 274ms (ActiveRecord: 186.1ms) 
2017-08-10T09:54:44.004012+00:00 app[web.1]: 
2017-08-10T09:54:44.004048+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::UndefinedColumn: ERROR: column "queryid" does not exist 
2017-08-10T09:54:44.004050+00:00 app[web.1]: LINE 1: ...ry_stats AS (SELECT LEFT(query, 10000) AS query, queryid AS... 
2017-08-10T09:54:44.004051+00:00 app[web.1]:               ^
2017-08-10T09:54:44.004052+00:00 app[web.1]: HINT: Perhaps you meant to reference the column "pg_stat_statements.query". 
2017-08-10T09:54:44.004055+00:00 app[web.1]: : WITH query_stats AS (SELECT LEFT(query, 10000) AS query, queryid AS query_hash, rolname AS user, (total_time/1000/60) AS total_minutes, (total_time/calls) AS average_time, calls FROM pg_stat_statements INNER JOIN pg_database ON pg_database.oid = pg_stat_statements.dbid INNER JOIN pg_roles ON pg_roles.oid = pg_stat_statements.userid WHERE pg_database.datname = current_database()) SELECT query, query_hash, query_stats.user, total_minutes, average_time, calls, total_minutes * 100.0/(SELECT SUM(total_minutes) FROM query_stats) AS total_percent, (SELECT SUM(total_minutes) FROM query_stats) AS all_queries_total_minutes FROM query_stats ORDER BY "total_minutes" DESC LIMIT 100): 

Répondre

0

Il se avère que la mise à niveau de la version postgres sur Heroku ne met pas à jour les extensions nécessairement à la version la plus récente.

Mise à jour de l'extension en exécutant

ALTER EXTENSION pg_stat_statements UPDATE; 

résolu le problème.