登录
首页 >  Golang >  Go问答

必须提供明确用户名,无法使用默认用户名

来源:stackoverflow

时间:2024-03-06 12:45:27 422浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《必须提供明确用户名,无法使用默认用户名》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

将 golang 容器连接到 postgres 时出现此错误。

pq:无法检测默认用户名。请明确提供一项

我尝试了很多用户名和密码组合,但没有成功。我应该使用什么用户名组合?

docker-compose 代码是:

version: '3.6'
services:
  postgres:
    image: postgres:11.1-alpine
    ports:
      - '5432:5432'
    #network_mode: bridge
    container_name: postgres

    environment:
      postgres_user: 'user'
      postgres_password: 'password'
      postgress_db: 'db_amex01'
    volumes:
      - ./init:/docker-entrypoint-initdb.d/


  todo:
    build: ./go_amex/
    depends_on:
      - "postgres"
    restart: always

    # ports:
    #   - "8000:8080"

./go_amex/main.go

db, err := gorm.Open("postgres", "host='postgres'&user=user@localhost&port=5432&dbname='todo'&password='password'&sslmode=disable")

if err != nil {
    fmt.Println("============   exiting ==========")
    fmt.Println(err)
    panic("failed to connect database cc")
}

defer db.Close()

挑战的 github 代码


解决方案


试试这个:

version: '3'
services:
  postgres:
    image: kartoza/postgis:9.6-2.4
    ports:
      - "5432:5432"
    environment:
      postgres_user: developer
      postgres_dbname: somedb
      postgres_pass: somepass
    volumes:
      - $home/data/postgres:/var/lib/postgresql/data

yaml 中的数据库配置

sqlBind := fmt.Sprintf("user=%s password=%s dbname=%s sslmode=disable",
    "developer",
    "somepass",
    "somedb",
)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>