[英]How to send application_name to RPostgreSQL connection
我知道 PostgreSQL 數據庫允許跟蹤每個連接的應用程序名稱,看起來 application_name 變量應該與 RPostgreSQL 一起使用,但我到底應該怎么做? 將變量 application_name = "test" 添加到 dbConnect 不起作用。
我不確定您是否可以將application_name='test'
作為參數傳遞給 RPostgreSQL 中的dbConnect
(有一個可選的options
參數,但我無法弄清楚它需要什么樣的數據)。
另一種方法是在打開連接后立即運行以下 SQL 查詢:
SET application_name='test'
它應該可以工作,直到您關閉連接。
它沒有很好的記錄,但像這樣的工作:
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv,
dbname = "<my_db>",
host = "<my_host>",
[...],
options = "-c application_name=my_app_name"
)
它也適用於dbPool
(包“pool”):
pool <- dbPool(
drv = dbDriver("PostgreSQL"),
dbname = "<my_db>",
host = "<my_host>",
[...]
minSize = 0,
maxSize = 3,
options = "-c application_name=my_app_name"
)
檢查pg_stat_activity
mydb=> SELECT state, usename, application_name FROM pg_stat_activity WHERE datname = 'mydb';
state | usename | application_name
--------+----------+------------------
active | postgres | psql
idle | myuser | my_app_name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.