【发布时间】:2018-05-07 16:54:46
【问题描述】:
我有带有 PostgreSQL 的 Django 应用程序。
应用程序具有这些环境变量:
DATABASE_HOST=localhost
DATABASE_USER=admin
DATABASE_PASSWORD=admin
这是 psql 的输出:
postgres=# CREATE USER admin WITH PASSWORD 'admin123';
ERROR: role "admin" already exists
postgres=# select * from USER;
current_user
--------------
postgres
(1 row)
postgres=# GRANT ALL privileges ON DATABASE my_db to admin;
GRANT
当我尝试从 db 中获取一些东西时,我得到了
ProgrammingError: permission denied for relation app_rangeslot.
所以,问题:
1) 如果用户 admin 拥有所有权限,为什么会出现权限被拒绝错误?
2) 如果创建了用户admin,为什么我看不到?
【问题讨论】:
-
你用的是哪个django版本,可以写DATABASES的值
-
@MohammadMustaqeem Django 版本为 1.8
DATABASES = { 'my_db': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': os.getenv('DATABASE_NAME', 'my_dev'), 'USER': os.getenv('DATABASE_USER', 'postgres'), 'PASSWORD': os.getenv('DATABASE_PASSWORD', os.getenv('DATABASE_PASSWORD', '')), 'HOST': os.getenv('DATABASE_HOST', os.getenv('DATABASE_HOST', '')), 'PORT': '5432', } }
标签: sql django postgresql django-orm django-postgresql