python - django.core.exceptions.ImproperlyConfigured : The database name '****.amazonaws.com' (85 characters) is longer than PostgreSQL's limit of 63 characters

标签 python django postgresql amazon-web-services

我正在尝试将 Django 模型迁移到 AWS Lightsail 数据库,但出现以下错误。我的数据库位于 AWS Lightsail 上。它是 PostgreSQL。我正在 AWS 上部署我的项目,因此我已经设置了除模型迁移之外的几乎所有内容。

亚马逊数据库可用连接选项:

    Endpoint->  ************.ap-******-1.***.amazonaws.com,
    Port->    5444,
    User name->  db,
    Password->  Something

我的 SETTINGS.PY 文件数据库连接选项:

        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': '****Endpoint*****',
            'USER': 'db',
            'PASSWORD': 'Something',
            'HOST': '5444'
        }
    }

终端错误:

> `2, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/migrations/recorder.py", lin
e 76, in applied_migrations
    if self.has_table():
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/migrations/recorder.py", lin
e 56, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in 
inner
    return func(*args, **kwargs)
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 260, in cursor
    return self._cursor()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 236, in _cursor
    self.ensure_connection()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in 
inner
    return func(*args, **kwargs)
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 220, in ensure_connection
    self.connect()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in 
inner
    return func(*args, **kwargs)
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 196, in connect
    conn_params = self.get_connection_params()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/postgresql/base.py"
, line 165, in get_connection_params
    self.ops.max_name_length(),
django.core.exceptions.ImproperlyConfigured: The database name '*****************Database End-point*****************.***.amazonaws.com' (85 characters) is longer than PostgreSQL's limit of 63 characters. Supply a shorter NAME in settings.DATABASES.```

有没有办法缩短端点名称,或者有其他解决方案来处理此错误。请指导我进行设置。

谢谢, -Manoj Jha

最佳答案

“HOST”应该是主机名,而不是端口! “NAME”是数据库的名称。

来自 Django documentation 的示例:

'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': 'dbprod01ned.mycompany.com',
'PORT': '1540',

关于python - django.core.exceptions.ImproperlyConfigured : The database name '****.amazonaws.com' (85 characters) is longer than PostgreSQL's limit of 63 characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61532909/

相关文章:

java - 将枚举存储在数据库中

python - 如何使用 "False"- Tensorflow 中的元素将 bool 掩码的大小加倍

python - 我的腌制 cookies 在 selenium - python 中不起作用?

Python,特征选择

python - 如何在 django auth 密码验证器旁边使用自定义密码验证器?

Python 3 有什么东西可以打印类方法调用的顺序吗?

python - 在单个项目中重用 Django 应用程序

node.js - Nodejs - Postgres - 通知 - 错误绑定(bind)消息

python - 使用另一个模型中的行创建 MultipleChoiceField,

postgresql - 是否有可能在 postgreSQL 逻辑复制插件中获取当前的 64 位 transactionId(带有纪元)