【问题标题】:How to use PostgreSQL 9.4 with django?如何在 Django 中使用 PostgreSQL 9.4?
【发布时间】:2023-02-24 00:27:59
【问题描述】:

有没有办法将 PostgreSQL 9.4 版与 Django 框架一起使用?

我必须降级我的 psycopg2 版本吗?如果是,哪个 psycopg 支持 PostgreSQL 9.4?

我收到 django 仅支持 PostgreSQL 11 或更高版本的错误

【问题讨论】:

  • 为什么?这至少在一年内不受支持,甚至可能更长。 (版本 9 不存在,它是 9.0 或 9.1 或 9.2 或 9.3 或 9.4 或 9.5 或 9.6)
  • 是的,我编辑了我的问题,谢谢,我需要在我的项目中使用的 pg 数据库有 9.4,我无法更新(我通过 SSH 连接到这个数据库)
  • 它不是psycopg2 版本,它是您正在使用的不支持 PostgreSQL 9.4 的 Django 版本。如果你想使用 PostgreSQL 9.4,你必须一直降级到 Django 2.2(我不建议这样做,2.2 有已知的漏洞):docs.djangoproject.com/en/2.2/ref/databases/#postgresql-notes

标签: python django postgresql psycopg2


【解决方案1】:

要将 PostgreSQL 9 与 Django 一起使用,您可以按照以下步骤操作:

  1. 在您的系统上安装 PostgreSQL 9 数据库服务器并确保它正在运行
  2. 在您的系统上安装 PostgreSQL 9 客户端库。这是 Django 与 PostgreSQL 服务器通信所必需的。
  3. 安装 psycopg2 Python 库,它是 Python 的 PostgreSQL 适配器。您可以使用 pip 安装它:

    pip 安装 psycopg2

    1. 更新 Django 项目的 settings.py 文件中的 DATABASES 设置以使用 PostgreSQL 数据库。这是一个例子:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'mydatabase',
            'USER': 'mydatabaseuser',
            'PASSWORD': 'mypassword',
            'HOST': 'localhost',
            'PORT': '',
        }
    }
    

    这假定您有一个名为 mydatabase 的数据库、一个名为 mydatabaseuser 的用户和一个名为 mypassword 的密码。

    1. 运行 python manage.py migrate 命令创建必要的 数据库表。

    就是这样!您的 Django 项目现在应该使用 PostgreSQL 9 作为其数据库后端。

【讨论】:

  • 谢谢,但我已经这样做了,我有这个错误,django.db.utils.NotSupportedError: PostgreSQL 11 or later is required (found 9.426)
  • 这意味着您的 Django 项目正在尝试连接到运行 PostgreSQL 过时版本(在本例中为 9.426 版本)的 PostgreSQL 数据库服务器,Django 不支持该版本。
  • 要修复此错误,您需要将 PostgreSQL 数据库服务器升级到 Django 支持的版本,例如版本 11 或更高版本。您可以从 PostgreSQL 官方网站 (postgresql.org/download) 下载最新版本的 PostgreSQL。
  • 安装新版本的 PostgreSQL 后,您需要将数据库数据迁移到新版本。您可以按照官方文档 (postgresql.org/docs/current/upgrading.html) 中提供的 PostgreSQL 升级说明进行操作。
  • 升级 PostgreSQL 服务器并迁移数据后,您应该更新 Django 项目的 settings.py 文件以使用新版本的 PostgreSQL。具体来说,您应该更新 DATABASES 设置以将新版本的 PostgreSQL 指定为数据库引擎
猜你喜欢
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 2016-04-01
相关资源
最近更新 更多