首页 > 后端开发 > Golang > 正文

如何将密码与官方 postgres docker 镜像一起使用?

WBOY
发布: 2024-02-05 21:45:12
转载
1343人浏览过

如何将密码与官方 postgres docker 镜像一起使用?

问题内容

尝试使用官方 postgres docker 镜像:

docker run --rm -d \
        --name my-postgres \
        --network my-network \
        -e POSTGRES_USER=postgres \
        -e POSTGRES_PASSWORD=mysuperduperlongpwstring \
        -e POSTGRES_DB=postgres \
        -v /path/to/postgres/data/:/var/lib/postgresql/data
        postgres
登录后复制

但是,当使用 Go 创建 postgres 连接时,

        psqlInfo := fmt.Sprintf(
                "host=%s port=%s user=%s password=%s dbname=%s sslmode=%s",
                os.Getenv("DB_HOST"),
                os.Getenv("DB_PORT"),
                os.Getenv("DB_USER"),
                os.Getenv("DB_PASSWORD"),
                os.Getenv("DB_NAME"),
                os.Getenv("DB_SSL_MODE"),
        )
        db, err := sql.Open("postgres", psqlInfo)
        if err != nil {
                panic(err)
        }
登录后复制

我总是以

结束

panic: pq: 用户“postgres”的密码验证失败

我没有任何其他方法来验证 mysuperduperlongpwstring:

  • 尝试使用 psql -U postgres -d postgres --password 从 docker 容器内连接数据库,并提供任何内容作为密码就可以了。
  • 尝试从 docker 容器内更改密码,将会得到

错误:必须是超级用户才能更改复制角色或更改复制属性

ClipDrop
ClipDrop

Stability.AI出品的图片处理系列工具(背景移除、图片放大、打光)

ClipDrop 112
查看详情 ClipDrop

也就是说,基本上以下答案不再对我有用:

  • 如何更改 Postgresql docker 镜像密码
  • 如何更改 PostgreSQL 用户密码?

由于缺乏资源,我在启动docker时多次更改了mysuperduperlongpwstring,并相应地更改了我的Go PW,但每次都以相同的失败告终。

请问问题出在哪里,如何排查? 如何使用官方 postgres docker 重置密码?


正确答案


在 Docker 容器中,设置您显示的内容并从空卷开始,“postgres”将是超级用户,因此您不会收到有关它需要成为超级用户的错误。

我对此部分看到的唯一合理的解释是,要么您没有在您认为的地方运行 psql,要么您没有从空卷开始,因此您的 docker run 命令只是启动了一个现有数据库,因此您的“-e POSTGRES*”配置全部被忽略。因此,无论怎样,您要么没有连接到您认为的样子,要么它没有按照您想象的方式配置。

以上就是如何将密码与官方 postgres docker 镜像一起使用?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号