【发布时间】:2013-10-04 18:03:46
【问题描述】:
我在我的连接字符串中设置application_name,如下所示:
DB = Sequel.connect(:adapter=>'postgres', :host=> 'localhost',
:database=>'blah', :user=>'gator',
:application_name => 'blahwebapp')
但是,当我查看 pg_stat_activity 或任何其他要按 application_name 过滤的指标时,我没有看到它被正确分配。
我的 Pg gem 是“pg (0.17.0)”,我相信自 0.16 以来它已经能够处理应用程序名称。 sequel_pg 是 (1.6.8),Sequel 是 (4.2.0)。
设置了一个应用程序名称,但它与路径/网络服务器相关,而不是配置中设置的名称:
/Users/gator/.rvm/gems/rub...47@blahwebapp/bin/shotgun
即使我使用 URL 类型的连接字符串,它仍然没有注册 application_name:
DB = Sequel.connect('postgres://gator@localhost/blah?application_name=blahwebapp')
这与我在 psql 中用于连接的 URL 相同,并且显示正常。
在the documentation 的续集中,我没有看到太多关于application_name 作为让我担心的选项:
关于如何让它尊重application_name的任何想法/想法?
【问题讨论】:
-
我建议将其加入 Sequel-Talk 邮件列表。 Stack Overflow 非常深奥。 Jeremy Evans 会定期在这里回答问题,但他会监控邮件列表。
-
另外,通读 PostgrSQL 的 Sequel 适配器文档:sequel.rubyforge.org/rdoc-adapters/index.html。 Sequel 是纯 Ruby,因此您应该能够在必要时轻松阅读源代码。您可以收集一些有用的信息来了解可能缺少哪些驱动程序功能,并修补或覆盖以添加您想要的内容。当我使用大型数据库并且需要表的模式转储但无法获得我想要的信息时,我这样做了。
标签: ruby postgresql sinatra sequel