我试图减少Heroku / Rails应用程序中PostgreSQL的一些日志噪音。具体来说,我正在尝试将
我按照此文章中的步骤,在我的
以下是我在Papertrail日志中看到的示例(已编辑)。
client_min_messages
设置配置为warning
,而不是默认值notice
。我按照此文章中的步骤,在我的
database.yml
文件中指定了min_messages: warning
,但这似乎对我的Heroku PostgreSQL实例没有任何影响。我仍然在日志中看到NOTICE消息,并且当我在数据库上运行SHOW client_min_messages
时,它仍然返回notice
。以下是我在Papertrail日志中看到的示例(已编辑)。
Nov 23 15:04:51 my-app-name-production app/postgres.123467 [COLOR] [1234-5] sql_error_code = 00000 log_line="5733" application_name="puma: cluster worker 0: 4 [app]" NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored
我还可以确认该设置似乎在Rails配置中 - Rails.application.config.database_configuration[Rails.env]
在生产控制台中显示一个哈希,其中包含"min_messages"=>"warning"
我还尝试通过PostgreSQL控制台手动更新它 - 所以 SET client_min_messages TO WARNING;
- 但这个设置不会“保留”。它似乎会在下一个会话中重置。
如何在Heroku/Rails上配置client_min_messages
为warning
?
min_messages: warning
应该可以工作。 - engineersmnkymin_messages: warning
,但在Heroku上并没有起作用。Heroku 是否真的使用你的 database.yml 呢? - Jaco PretoriusSET client_min_messages TO WARNING;
时,它仅适用于当前会话/连接。通过ALTER DATABASE your_database SET client_min_messages TO 'warning';
在数据库级别上设置它将其设置为从那时起新建立的连接的默认值。这些新连接仍然可以在其范围内更改它。此外,其他内容仍然可以在重置/重建服务器时将数据库设置恢复为初始的默认值。 - Zegareklog_min_messages
(但默认值是WARNING
,所以也许你只是表述不清楚...) - Erwin Brandstetterdatabase.yml
在客户端上指定了相同的内容,Erwin's将其设置为保存到log_destination
的服务器日志的级别。 - Zegarek