我正在编写golang应用程序并使用golang postgres驱动程序 - https://github.com/lib/pq/
我使用像这样的连接字符串
'name:pass@host:port/dbname'
我尝试在conn字符串中添加aplication_name param,但这不起作用
'name:pass@host:port/dbname?application_name=myapp'
是否可以从golang设置应用程序名称? (标准方式)
答案 0 :(得分:3)
如果您查看documentation,则不会提供application_name选项。也许你可以使用:
fallback_application_name - 要返回if的application_name 没有提供。
name:pass@host:port/dbname?fallback_application_name=myapp
答案 1 :(得分:1)
您可以使用以下两种方法之一设置应用程序名称。
// Application name as space-separated list of options.
sql.Open("postgres", "user=myuser password=mypass host=localhost port=5432 dbname=mydb sslmode=disable application_name=myapp")
或
// Application name as query param.
sql.Open("postgres", "postgres://myuser:mypass@localhost:5432/mydb?sslmode=disable&application_name=myapp")
答案 2 :(得分:0)
即使文档中未提及,但是如果您查看lib/pq
源代码,也会发现支持application_name
。
此样式连接可根据需要工作:
connstring := fmt.Sprintf("user='%s' password='%s' dbname='%s' host='%s' application_name='%s'", user, password, dbname, host, application_name)
db, err := sql.Open("postgres", connstring)