我正在使用postgres与docker和它有麻烦。我成功地docker-compose-build
当我在命令下面运行时,它工作得很好。psql按预期以my_username用户开始。我可以看到我的数据库,\l,\dt命令工作正常。
docker-compose exec db psql--username=my_username--dbname=my_database
苏波斯特格雷斯
createuser--createdb--密码new_user
在第二种情况下我怎么才能把它弄对呢?出什么问题了?我很困惑
docker-compose.yml
version: "3.9"
services:
#### other services ####
db:
image: postgres:latest
restart: always
environment:
POSTGRES_DB: my_database
POSTGRES_USER: my_username
POSTGRES_PASSWORD: my_password
ports:
- 5432
volumes:
- postgres_data:/var/lib/postgresql/data/
volumes:
postgres_data:
通过提供postgres_user
、postgres_db
和postgres_password
环境变量,您已经更改了初始化postgres数据库时使用的默认用户名/database/password。当您在没有-u
选项的情况下运行createUser
时,它会尝试以当前用户(本例中为postgres)的身份进行连接,该用户不存在于数据库中,因为您使用用户my_username
对其进行了初始化。docker-compose exec db psql--username=my_username--dbname=my_database
起作用的原因是,您正确地提供了初始化数据库时使用的用户名和数据库名。
如果删除postgres_user
和postgres_db
环境变量,它将使用默认值postgres/postgres进行初始化。
请注意,由于您正在将一个卷装入该容器中,该容器中现在已经有一个初始化的数据库,因此即使重新启动编写,也不会重新初始化该卷。您需要docker卷RM
该卷,以便在启动容器时重新初始化数据库。
我最近安装了Ubuntu的最新版本,还不习惯。我在连接PostgreSQL和PGADMIN3时遇到了几个问题。 我找不到,在这一点上,我太害怕尝试追随任何其他帖子而使事情变得更糟。 我怎么才能让这件事成功呢?
接口说明 保存角色 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /permissions/api/team/role/v1.0.0/save 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN roleName string formData
接口说明 保存角色 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /permissions/api/team/role/v1.0.0/s
请建议我,我的下一步将如何解决这个问题,并使我的示例项目处于运行状态。
我是个新手。 我为Mac安装了Postgres.App。我在玩psql命令时不小心丢失了postgres数据库。我不知道里面是什么。 我目前正在编写一个教程:http://www.rosslaird.com/blog/building-a-project-with-mezzanine/ 而且我被困在 错误消息: 那么我应该采取哪些步骤呢?删除一个与psql相关的所有内容并重新安装所有内容? 谢谢你
我是新来postgres和面临的困难,在连接到数据库后服务器重启。我在一个OS用户测试下创建了一个数据库pgdb。服务器重启后,我通过发出命令重新启动pgsql 启动postgreql-9.6服务:[OK] 如果我只是发出psql,我会被带到psql提示符,但是这里的数据路径与我之前设置的不同。当我尝试以postgres用户的身份连接到pgdb时,我得到错误: psql: FATAL:数据库"pg