生产服务器的Django数据库设置

时间:2011-02-03 15:08:19

标签: database django production

使用'postgresql_psycopg2'我的Django数据库配置有问题 如果我给我的数据库任意名称,如下所示,

    DATABASES = {
        'default': {
            'ENGINE': 'postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': 'xyz',                      # Or path to database file if using sqlite3.
            'USER': 'postgres',                      # Not used with sqlite3.
            'PASSWORD': '${my_password}',                  # Not used with sqlite3.
            'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
            'OPTIONS': {
                "autocommit": True,
            }
        }
    }
> 

OperationalError at /

FATAL:  database "xyz" does not exist

我经常浏览并发现与SQLite相同,我们必须指定数据库的绝对路径;与PostGRE同样如上。

我想知道:
1)为什么我收到上述规格的错误信息和
2)我如何使用我正在使用的数据库与开发服务器在文件系统(窗口)中布局。

1 个答案:

答案 0 :(得分:0)

  

我经常冲浪,发现同样的情况   使用SQLite我们必须指定   数据库的绝对路径;同   PostGRE也在上面。

为了清楚(你的措辞不是),postgresql没有绝对路径,它只是数据库的名称。

1:错误信息非常清楚,数据库xyz不存在。

转到dbshel​​l(python manage.py dbshell)并输入\l。如果数据库xyz不在那里,请键入create database xyz,退出postgres shell并再次尝试syncdb。

2:对于您的开发服务器,我建议使用sqlite3以方便使用。

sqlite包含在python 2.5+中,因此不需要额外的设置。只需将ENGINE设置为sqlite3,指定数据库保存位置的绝对路径,然后python manage.py syncdb