首页 > 解决方案 > 使用 shell 脚本创建了一个数据库,但是不允许用户登录

问题描述

当我尝试启动我的 djangoRESTapi 时,我收到一条错误消息

FATAL: role "admin3" is not permitted to log in

每次我尝试使用 manage.py

当前脚本。

pg_ctl -D /usr/local/var/postgres stop
pg_ctl -D /usr/local/var/postgres start
psql -c "DROP DATABASE $sqlProject;"
psql -c "DROP ROLE $projectAdmin;"
#createdb -E UTF-8 $sqlProject

psql -c "CREATE DATABASE $sqlProject;"
psql -c "CREATE ROLE $projectAdmin WITH SUPERUSER PASSWORD '$projectPassword';"
psql -c "ALTER ROLE $projectAdmin SET client_encoding TO 'utf8';"
psql -c "ALTER ROLE $projectAdmin SET default_transaction_isolation TO 'read committed';"
psql -c "ALTER ROLE $projectAdmin SET timezone TO 'UTC';"
psql -c "GRANT ALL PRIVILEGES ON DATABASE $sqlProject TO $projectAdmin;"
psql -c "GRANT CONNECT ON DATABASE $sqlProject TO $projectAdmin;"
psql -c "\q"

关于修复的任何想法?

标签: sqlpostgresqldjango-rest-frameworkpsql

解决方案


我将它作为创建角色而不是创建用户。

这解决了我的问题。


推荐阅读