📅  最后修改于: 2023-12-03 15:30:23.512000             🧑  作者: Mango
这个错误提示表明在使用该数据库前,需要初始化并设置超级用户密码。
要初始化数据库,请运行以下命令:
docker-compose run db_1 init
这将会初始化数据库并创建超级用户,需要按照提示输入用户名和密码。
如果您已经初始化了数据库,但是忘记了超级用户密码,可以通过以下步骤重置密码:
docker exec -it db_1 bash
psql
ALTER USER postgres WITH PASSWORD '<NEW_PASSWORD>';
请务必将 <NEW_PASSWORD>
替换成新的密码。
为了避免在操作数据库时遇到此错误,建议在 Dockerfile 和 docker-compose.yml 文件中设置默认的用户名和密码,并在初始化时使用它们创建超级用户。
version: '3.8'
services:
db:
image: postgres
environment:
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes:
- dbdata:/var/lib/postgresql/data
volumes:
dbdata:
通过这种方式,不必担心忘记设置超级用户密码,数据库也可以更加安全地使用。