首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django.db.utils.OperationalError: FATAL:数据库不存在(postgres /部署到digitalocean)

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

Stack Overflow用户
提问于 2020-02-12 04:07:49
回答 1查看 3.9K关注 0票数 3

我正在尝试部署一个具有数字海洋的项目。我遵循了在https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04上找到的一些重要步骤的说明:我运行:

代码语言:javascript
复制
postgres=# CREATE DATABASE jobzumoDB;
CREATE DATABASE

然后:

代码语言:javascript
复制
postgres=# CREATE USER admin WITH PASSWORD '123';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jobzumoDB  TO admin;
GRANT

在settings.py中设置以下内容:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'jobzumoDB',
        'USER':'admin',
        'PASSWORD':'123',
        'HOST':'localhost',
        'PORT':'',
    }

然后尝试运行:

代码语言:javascript
复制
 ~/jobzumo/manage.py makemigrations

并得到了:

代码语言:javascript
复制
 File "/home/justin/jobzumo/env/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
        conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
    django.db.utils.OperationalError: FATAL:  database "jobzumoDB" does not exist

两件事:

代码语言:javascript
复制
ALLOWED_HOSTS = ['jobzumo.com', '142.93.184.125']

我还没有将jobzumo.com连接到数字海洋,但IP地址是从我的from中复制的。

此外,我还跑了:pip install django gunicorn psycopg2 (来自数字海洋)

但是youtube上的一个教程说,现在安装psycopg2-binary非常重要,然而,我没有这样做,因为视频与数字海洋的教程相去甚远。

谢谢你的帮助,在开始了解django之后,我没有想到部署会有这么多令人头疼的事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-12 05:07:19

当你给postgres一个不带引号的字符串作为标识符时,它会强制postgres使用小写。see this similar answer from pgsql-general mailing list。因此,由命令CREATE DATABASE jobzumoDB;创建的数据库的实际名称是jobzumodb。要创建一个名为jobzumoDB的数据库,需要使用引号,就像在CREATE DATABASE "jobzumoDB";中一样

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60176590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档