1 回答

TA貢獻1829條經驗 獲得超7個贊
第一個問題是連接字符串中的拼寫錯誤:。在 Go 代碼中,它應該是 .postgresql://user:[email protected]:5432/lcp?sslmode=disablepostgres://user:[email protected]:5432/lcp?sslmode=disable
我們還需要將完整的連接字符串作為第二個參數傳遞給 。現在,該函數返回 ,但我們需要 ,因為 pq 正在等待此前綴來解析它。sql.OpendbFromURIuser:[email protected]:5432/lcp?sslmode=disablepostgres://user:[email protected]:5432/lcp?sslmode=disable
修復此問題后,我能夠根據您的代碼使用最小的postgres客戶端建立連接。
若要親自嘗試此操作,請使用以下命令啟動服務器:
docker run --rm -p 5432:5432 -e POSTGRES_PASSWORD=some_password postgres
并嘗試使用以下客戶端代碼進行連接:
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
cnxn := "postgres://postgres:[email protected]:5432/lcp?sslmode=disable"
_, err := sql.Open("postgres", cnxn)
if err != nil {
panic(err)
}
_, err = db.Prepare("SELECT id,encryption_key,location,length,sha256,type FROM content WHERE id = ? LIMIT 1")
if err != nil {
fmt.Println("Prepare failed")
panic(err)
}
}
- 1 回答
- 0 關注
- 305 瀏覽
添加回答
舉報