首页 > 解决方案 > 无法连接到 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

标签: databasepostgresqlgo

解决方案


推荐阅读