🚧

django.db.backends.postgresql_psycopg2 は非推奨みたい

2023/07/11に公開

psycopg2とは

pythonからpostgresqlを操作するライブラリです。
https://github.com/psycopg/psycopg2

Djangoのsettings.pyではこんな感じで指定されます。

settings.py
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "OPTIONS": {
            "service": "my_service",
            "passfile": ".my_pgpass",
        },
    }
}

非推奨の記載はどこに?

Django2.0のリリースノートにありました。
https://docs.djangoproject.com/en/3.0/releases/2.0/#id1

The django.db.backends.postgresql_psycopg2 module is deprecated in favor of django.db.backends.postgresql.

変更先はdjango.db.backends.postgresqlです。
最新の4.2のドキュメントでも記載があります。

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

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "OPTIONS": {
            "service": "my_service",
            "passfile": ".my_pgpass",
        },
    }
}

psycopg3もDjango4.2で対応したようです。
psycopg2の動向は見守りましょう。

結論

django.db.backends.postgresqlを使いましょう。

おわりに

ありがとう

Discussion