这是我发现连接到Postgres的最佳方法。
import _ "github.com/jinzhu/gorm/dialects/postgres"
dsn := url.URL{
User: url.UserPassword(conf.User, conf.Password),
Scheme: "postgres",
Host: fmt.Sprintf("%s:%d", conf.Host, conf.Port),
Path: conf.DBName,
RawQuery: (&url.Values{"sslmode": []string{"disable"}}).Encode(),
}
db, err := gorm.Open("postgres", dsn.String())
关注官方文档,对我有用, 请访问
Https://gorm.io/docs/connecting_to_the_database.html
import (
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
dsn := "host=localhost user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai"
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
首先,这个问题使想象力保持空间。 ,这是您无法将Gorm连接到Postgres的可能用例:
确保您的Postgres在您指定的主机中运行良好(在这种情况下:Localhost)如果没事,请确保您的用户和密码还可以
$ sudo -i -u postgres
$ psql
如果成功,那意味着代码中的其他内容。据我所知,您没有显示导入部分。您是否默默地导入了Postgres Gorm方言?
import _ "github.com/jinzhu/gorm/dialects/postgres"
go get gorm.io/driver/postgres