亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在postgresql中跟蹤sql查詢

如何在postgresql中跟蹤sql查詢

Go
子衿沉夜 2023-05-08 16:00:18
sql.Register("sqlWithHooks", sqlhooks.Wrap(r.Driver(), &Hooks{}))// Connect to the registered wrapped driverdb, err := sql.Open("sqlWithHooks", ":memory:")if err != nil {    fmt.Println("error",err)}rows, err := db.Query("SELECT id,name,cid,dimension,price FROM   table_name ")if err != nil {    fmt.Println("inside the error .........................",err)}運行此代碼后,我收到連接信息字符串中“:內存:”之后缺少“=”的錯誤。誰能告訴我我在這里所做的有什么問題?
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

的第二個參數sql.Open()需要一個連接字符串。它具有以下形式:

fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
            host, port, user, password, dbname)

它包含打開與 Postgres 的連接所需的信息。


查看完整回答
反對 回復 2023-05-08
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

sql.Open() 需要 2 個東西 'driverName' 和 'dataSourceName'。以sqlhooks為例,他們使用 sqlite 作為數據庫。除此之外,他們還使用了go-sqlite3,如果你仔細查看文件sqlite3.go的第 886 行。你會看到數據源名稱“:memory:”,這意味著我們選擇了 sqlite db 的內存利用。

'dataSourceName' 將根據選擇的數據庫而有所不同。它基本上意味著數據源名稱格式的連接字符串。

這有效的原因 fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)


查看完整回答
反對 回復 2023-05-08
  • 2 回答
  • 0 關注
  • 248 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號