django - 连接到 redshift 中默认数据库以外的数据库

标签 django postgresql django-models django-rest-framework amazon-redshift

我需要将我的 Django 应用程序连接到 redshift 中默认数据库以外的数据库。当我将它连接到默认数据库时,连接成功。当我将它连接到一个非默认的数据库时,它会给出一条错误消息说

"django.db.utils.OperationalError: FATAL: database "test" does not exist

DATABASES = {
  'default': {
      'NAME': 'test',
      'ENGINE': 'django.db.backends.postgresql_psycopg2',
      'USER': 'test',
      'PASSWORD': '######',
      'HOST': '############.redshift.amazonaws.com',
      'PORT': ####
  }
}

最佳答案

在 PostgreSQL 中,您连接到数据库,而不是模式。在您的 settings.py 中,NAME 应该是您要连接的数据库的名称。 PostgreSQL 的默认数据库是 postgres

USER 是您要登录的实际 PostgreSQL 用户。同样,默认值是 postgres

它们是两个不同的东西。您可以作为用户 postgres 登录到 PostgreSQL 并连接到数据库 test

关于django - 连接到 redshift 中默认数据库以外的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491328/

相关文章:

python - 从 psycopg2 中的模式获取数据

python - django - 如何在 django 1.3 中设置 DecimalField 的默认值?

django - 如何在 Django 中对两个数据库(没有外键)应用查询?

django - 为什么 django send_mail 无法无误地发送电子邮件?

django - docker中无法访问Django项目的8000端口

postgresql - 使用 'CREATE TABLE AS'创建的分区表

python - 如何在没有数据库的情况下制作自定义表单 - DJANGO

python - Django 过滤同一列中的多个值

python - 使用 Django 从服务器获取多个图像

postgresql - 将 postgresql jsonb 查询响应字符串解码为 golang 嵌套结构