Postgres FATAL 数据库不存在 Django
我看到很多人问关于Ruby的问题,但没有人问过DJango。我们有一个Postgres数据库,并且用我们的Postgres用户创建了一个名为Adam的表。当你运行psql -l
时,这个表是能显示出来的。然而,当我们尝试运行迁移时却出现了错误。
FATAL: database "/var/lib/pgsql/9.3/data/Adam" does not exist
运行psql -l
的结果是这样的:
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------------+----------+----------+-------------+-------------+-----------------------
Adam | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Django的settings.py文件看起来是这样的……
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.path.join('/var/lib/pgsql/9.3/data/', 'Adam'),
'USER': 'postgres',
'PASSWORD': 'correctlyTypePassword'
}
}
有没有人知道为什么它会认为这个表不存在呢?
1 个回答
8
你的数据库设置有问题。这里的“名称”应该指的是数据库的名字,而不是它的路径。试试这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'Adam',
'USER': 'postgres',
'PASSWORD': 'correctlyTypePassword'
}
}