database - 无法连接到 postgresql 数据库“数据库不存在”
问题描述
我有一个 Go 应用程序,它通过名为“github.com/lib/pq”的驱动程序连接到 postgres 数据库。
我与一个名为 godb 的数据库建立了连接,并且该功能Open()
正常工作,但是当我检查错误时db.Ping()
,它告诉我数据库不存在,尽管我已经在 pg Admin 中创建了它并且名称和密码写得很好. 我试图检查连接字符串是否正确,我试图创建一个新数据库并连接它,但它给出了同样的错误。我也尝试断开并重新连接数据库,但它不起作用。
package main
import (
"database/sql"
"fmt"
"log"
"sync"
//driver of the database
_ "github.com/lib/pq"
)
var (
db *sql.DB
once sync.Once
)
func NewPostgresDB() {
once.Do(func() {
var err error
db, err = sql.Open("postgres",
"postgres://postgres:/*password of the database*/@localhost:5432/godb?sslmode=disable")
if err != nil {
log.Fatalf("There is an error in the connction string %v", err)
}
if err = db.Ping(); err != nil {
log.Fatalf("There was an error connecting to the database %v", err)
}
})
fmt.Println("connection succeeded")
}
这是它准确返回的错误(它是西班牙语):
pq: no existe la base de datos �godb�
exit status 1