Поддерживает ли Django 1.9.5 PostgreSQL 11?

Конец жизни Postgres 10 на Heroku все ближе и ближе, но у меня все еще есть унаследованный проект на Django 1.9, использующий его там. Можно ли без проблем перейти на Postgres 11?

Согласно документации:

Django поддерживает PostgreSQL 9.0 и выше. Это требует использования psycopg2 2.4.5 или выше (или 2.5+, если вы хотите использовать django.contrib.postgres).

.

https://docs.djangoproject.com/en/1.8/ref/databases/#postgresql-notes

.

Текущая реализация psycopg2 поддерживает:

  • Python версий от 3.6 до 3.10
  • PostgreSQL версии сервера от 7.4 до 14
  • Версия клиентской библиотеки PostgreSQL от 9.1

https://www.psycopg.org/docs/install.html#prerequisites

Самые ранние упоминания Postgres 11 в psycopg2 появляются около 2.7.x, а в 2.8 явно упоминается:

  • Отменена поддержка Python 2.6, 3.2, 3.3.

    .
  • Пакет Wheel скомпилирован с OpenSSL 1.0.2r и PostgreSQL 11.2 libpq.

https://www.psycopg.org/docs/news.html#what-s-new-in-psycopg-2-8

.

Итак, проблема будет где-то в районе psycopg, если вообще будет. Если вы можете запустить свой проект Django на Python 3.4+ с psycopg 2.8+, то не должно быть причин, почему он не работает. Более старые версии psycopg2 могут прекрасно работать и с Postgres 11+. Вам следует просто проверить это на локальном окружении (например, в Docker).

Вернуться на верх