Docker-psql:django.db.utils.OperationalError:致命:角色“ admin”不存在

亚历克斯

我已经为我的Django项目配置了docker和postgres。

当我这样做时python manage.py runserver 0:8000,它给了我这个错误:django.db.utils.OperationalError: FATAL: role "admin" does not exist

但是,我以前的项目都使用了相同的配置,在这些项目中一切似乎都很好。

这是我的docker-compose.yml文件

version: '3'

services:
  db:
    image: postgres
    environment:
      - POSTGRES_DB=myproject
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=admin_pass
    container_name: myproject_postgress
    volumes:
      - ./data/db:/var/lib/postgresql/data

 myproject:
    build: ./myproject
    container_name: myproject
    env_file:
      - .env
    command: "tail -f /dev/null"
    volumes:
      - ./myproject:/web
    ports:
      - "8000:8000"
    depends_on:
      - db
    links:
      - db:postgres
    environment:
      - DJANGO_SETTINGS_MODULE=myproject.settings.local

这是我的设置文件中的“数据库”部分:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'myproject',
        'USER': 'admin',
        'PASSWORD': 'admin_pass',
        'HOST': 'postgres',
        'PORT': '',
    }
}

这些与docker-compose.yml中的相同

当我从命令行连接数据库时,我可以看到有用户“ admin”。(当然,在本地)没有docker,它不会给出任何错误。那么我对docker做错了什么?

PS:在我以前的项目中,我使用env_file而不是使用docker-compose.yml中的environment部分将env文件传递给docker,我也尝试过,但是没有用。

我正在寻找很长一段时间。谢谢!

亚历克斯

好吧,过了一会儿,在帮助下,我发现了。我的系统上有一个本地的postgres。我猜,用户“ admin”已用于本地postgres。我删除了data / db文件夹并重命名了用户,然后它起作用了!然后,我再次删除了db文件夹,再次将用户重命名为“ admin”,但是停止了本地postgres,它也起作用了!

谢谢

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

django.db.utils.OperationalError:严重:角色“ django”不存在

django.db.utils.OperationalError:致命:数据库不存在(postgres /部署到digitalocean)

django.db.utils.OperationalError:严重:数据库“路径”不存在

django.db.utils.ProgrammingError:类型“ raster”不存在

django.db.utils.ProgrammingError:表不存在

django.db.utils.ProgrammingError:关系“ ...”不存在

将Django连接到Postgres:django.db.utils.OperationalError:严重:数据库“ DATABASENAME”不存在

psql致命角色不存在

Docker Compose,Django:角色“ _”不存在

Django Rest框架“ django.db.utils.ProgrammingError:关系“患者”不存在”

“ django.db.utils.ProgrammingError:关系“ auth_user”不存在” Django V2.0

django.db.utils.ProgrammingError:列am.amcanorder不存在

django.db.utils.ProgrammingError:无法加载:关系“”的列“”不存在

django.db.utils.ProgrammingError:类型“ int4range”不存在

django.db.utils.ProgrammingError:关系“ bot_trade”不存在

django.db.utils.ProgrammingError:(1146,“表'med_portal.Custparent'不存在”)

django.db.utils.ProgrammingError: 运行 makemigrations 时关系“company_company”不存在

django.db.utils.ProgrammingError:递归模型不存在关系

将Django连接到Docker Postgres实例,引发django.db.utils.OperationalError

psql:致命错误:角色“ postgres”不存在

Django测试失败,出现“ django.db.utils.ProgrammingError:关系“ django_content_type”不存在”

找不到 django/mysql 表 - django.db.utils.ProgrammingError: (1146, "表 'trustline.authentication_user' 不存在")

获取django.db.utils.IntegrityError:重复的键值违反了唯一约束,但值不存在

还有一个“django.db.utils.ProgrammingError:关系“device_gclouddevice”不存在”

django.db.utils.ProgrammingError:使用heroku和djongo不存在column Calculator_calculation._id

带有 Postgres 的 Django 应用程序上的 Docker 映像返回 django.db.utils.OperationalError

django.db.utils.OperationalError:表“blog_post”已经存在

psql:严重:角色“无用”不存在

如何使用psql解决此问题?| psql:错误:致命:角色“ postgres”不存在