postgresql - 无法检测到默认用户名。请明确提供一份
问题描述
将 golang 容器连接到 postgres 时出现此错误。
pq:无法检测到默认用户名。请明确提供一份
我尝试了许多用户名和密码组合,但都没有运气。我应该使用什么用户名组合?
码头工人撰写代码是:
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()
解决方案
尝试这个:
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",
)
推荐阅读
- node.js - 在 Listview Flutter 中填充链接引用
- flutter - setState 对 dart/flutter 中的对象有效吗?
- php - “auth”从何而来
- makefile - 获取 mk 文件中的时间戳
- javascript - (reactjs) 如何设置承诺或将当前状态设置为本地存储
- linux - 如何使用 C++ 代码中的 setsockopt() 调用更改 TCP 拥塞控制算法
- angular - 我正在研究购物车,我如何在用户使用 jwt 注销后记住他的购物车状态
- c++ - 在不同循环内多次声明变量的优点
- symfony - Symfony 4 - UniqueEntity :我希望几家公司可以为一项服务使用相同的名称,但一家公司不能有两个具有相同名称的服务
- objective-c - NSTableView hideRowsAtIndexes 在 Sierra 上不起作用