【问题标题】:PgHero Rails - column "pid" does not existPgHero Rails - 列“pid”不存在
【发布时间】:2014-09-09 07:15:36
【问题描述】:

我正在尝试在应用程序中设置PgHero。我不断收到以下错误

Started GET "/pghero" for 127.0.0.1 at 2014-09-09 12:35:41 +0530 Processing by PgHero::HomeController#index as HTML Geokit is using the domain: localhost (3.9ms) SELECT COUNT(*) AS count FROM pg_extension WHERE extname = 'pg_stat_statements' CACHE (0.0ms) SELECT COUNT(*) AS count FROM pg_extension WHERE extname = 'pg_stat_statements' (1.5ms) SELECT pid, state, application_name AS source, age(now(), xact_start) AS duration, waiting, query, xact_start AS started_at FROM pg_stat_activity WHERE query <> '<insufficient privilege>' AND state <> 'idle' AND pid <> pg_backend_pid() AND now() - query_start > interval '1 minutes' ORDER BY query_start DESC PG::Error: ERROR: column "pid" does not exist LINE 1: SELECT pid, state, application_name AS source, age(now(), xa... ^ : SELECT pid, state, application_name AS source, age(now(), xact_start) AS duration, waiting, query, xact_start AS started_at FROM pg_stat_activity WHERE query <> '<insufficient privilege>' AND state <> 'idle' AND pid <> pg_backend_pid() AND now() - query_start > interval '1 minutes' ORDER BY query_start DESC

我按照documentation 中提到的所有步骤和故障排除

postgresql.conf

shared_preload_libraries = 'pg_stat_statements' custom_variable_classes = 'pg_stat_statements' pg_stat_statements.track = all

重启PG服务器后,我使用CREATE extension pg_stat_statements;创建扩展,然后使用SELECT pg_stat_statements_reset();重置统计信息

在我重新启动 Rails 服务器并点击 /pghero 后出现相同的错误。

看起来像 pgsql 问题。我不擅长 pg 管理员。谁能告诉我解决方法?

【问题讨论】:

    标签: ruby-on-rails-3 postgresql postgresql-9.1


    【解决方案1】:

    使用 PostgreSQL 9.2,或查看是否有支持 9.1 的旧 pghero 版本。鉴于以下情况,似乎没有:

    支持 PostgreSQL 9.2+

    就在自述文件顶部附近。


    错误解释:

    pg_stat_activity 中的 pid 列在 PostgreSQL 9.1 及更早版本上被命名为 procpid。这个工具似乎不检查 PostgreSQL 版本并使用适当的名称,它只是假设它正在与 9.2 或更高版本通信。

    因此,您可以向 PgHero 添加检查 SELECT current_setting('server_version_num') 的值,使其切换到旧列名称,并根据需要提交拉取请求。

    我个人只是升级到 9.3。

    【讨论】:

    • 太棒了。它适用于 9.2。很好解释。我的错!我应该仔细阅读它而不是直接跳到配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 2011-04-23
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多