gpt4 book ai didi

django.db.utils.OperationalError : FATAL: database does not exist (postgres/deploy to digitalocean)

转载 作者:行者123 更新时间:2023-12-04 13:16:16 25 4
gpt4 key购买 nike

我正在尝试使用 digital ocean 部署一个项目。我按照 https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04 中的说明进行操作一些重要的:我跑了:

postgres=# CREATE DATABASE jobzumoDB;
CREATE DATABASE

然后:

postgres=# CREATE USER admin WITH PASSWORD '123';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jobzumoDB TO admin;
GRANT

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

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'jobzumoDB',
'USER':'admin',
'PASSWORD':'123',
'HOST':'localhost',
'PORT':'',
}

然后尝试运行:

 ~/jobzumo/manage.py makemigrations

得到:

 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

两件事:

ALLOWED_HOSTS = ['jobzumo.com', '142.93.184.125']

我还没有将 jobzumo.com 连接到 digital ocean,但是 IP 地址是从我的 droplet 复制过来的。

此外,我运行了:pip install django gunicorn psycopg2(来自 digital ocean )

但是 youtube 上的一个教程说这对现在来说非常重要安装 psycopg2-binary,但是,我没有这样做,因为视频偏离了 digital ocean 的教程。

感谢您的帮助,在开始了解 django 之后,我认为部署不会如此令人头疼。

最佳答案

将我们在评论中得出的结果形式化为答案,当您为 postgres 提供一个未加引号的字符串作为标识符时,它会强制将其转换为小写。 see this similar answer from pgsql-general mailing list .所以命令CREATE DATABASE jobzumoDB;创建的数据库的实际名称是jobzumodb。要创建名为 jobzumoDB 的数据库,必须使用引号,如 CREATE DATABASE "jobzumoDB";

关于django.db.utils.OperationalError : FATAL: database does not exist (postgres/deploy to digitalocean),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60176590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com