【问题标题】:how to turn off Heroku SQL logs from postgres如何从 postgres 关闭 Heroku SQL 日志
【发布时间】:2013-12-19 17:12:08
【问题描述】:

我正在 Heroku 上运行一个使用 postgres 的应用程序。

我的所有 SQL 语句都出现在我的日志中;我想关闭它。

它们看起来像这样:

Dec 03 05:41:36 ti-core app/postgres:  [1566-2] #011FROM alias  
Dec 03 05:41:36 ti-core app/postgres:  [1566-3] #011WHERE alias.nid = E'10.5334/sta.at' AND alias.namespace = E'doi'  
Dec 03 05:41:36 ti-core app/postgres:  [1566-4] #011 LIMIT 1

我不知道我在哪里设置了这个级别的 heroku postgres 调试以及在哪里将其降低一个档次。谢谢!

【问题讨论】:

    标签: postgresql logging heroku heroku-postgres


    【解决方案1】:

    大概是因为log_statement被设置为all

    重置它:

    • 对于整个集群:在 postgresql.conf 中注释 log_statement 或将其设置为 'none'
    • 对于数据库:ALTER DATABASE foo SET log_statement=default;
    • 对于用户:ALTER USER foo SET log_statement=default;

    如果这没有帮助,请查看log_min_duration_statement

    相关文档章节:Error Reporting and Logging.

    【讨论】:

    • 谢谢丹尼尔。这很有帮助,但我无权在 Heroku 托管的 postgres 上设置 log_statement,它会出现:错误:错误:设置参数“log_statement”的权限被拒绝。所以也许我需要在某个地方更改 Heroku 中的设置?
    • @HeatherPiwowar,请参阅this question。 IE。因为 3 年另一个用户有同样的问题,我没有解决方案。从那以后你有什么新东西吗?
    【解决方案2】:

    我知道这可能不是正确的答案,但我使用以下命令部分解决了问题(至少在我实时读取日志时):

    heroku logs --tail | grep -v 'Executing'

    -v 参数反转 grep 搜索,因此只显示其他日志消息(假设它们的内容中没有文本“正在执行”)。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      • 2015-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多