如何在 golang lib/pq postgresql 驱动程序中设置应用程序名称?

kab*_*iev 4 postgresql go

我正在编写一个 golang 应用程序并使用 golang postgres 驱动程序 - https://github.com/lib/pq/

我使用这样的连接字符串

'name:pass@host:port/dbname'
Run Code Online (Sandbox Code Playgroud)

我尝试在 conn 字符串中添加 aplication_name 参数,但这不起作用

'name:pass@host:port/dbname?application_name=myapp'
Run Code Online (Sandbox Code Playgroud)

是否可以从 golang 设置应用程序名称?(标准方式)

apx*_*pxp 6

如果您查看文档,则不支持 application_name 选项。也许你可以使用:

fallback_application_name - 如果未提供,则要回退到的 application_name。

name:pass@host:port/dbname?fallback_application_name=myapp
Run Code Online (Sandbox Code Playgroud)


小智 6

尽管文档中没有提到它,但如果您查看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)
Run Code Online (Sandbox Code Playgroud)