#Djangoのデータベースをpsycopg2でPostgreSQLに接続するときに空のエラーが発生した
Django のデータベースを PostgreSQL に変更しようと、psycopg2を使用してDjango 側とPostgreSQL 側のコンフィギュレーションを済ませて、Django のデータモデルをマイグレーションしようとしたときに、以下の空のエラーが発生した。最後OperationalError
の後に何も表示されていないので、何が問題かが分からずに、解決方法を検討することができずにいた。
connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError
#原因はPostgreSQLの言語のコンフィギュレーションだった!
次のPostgreSQLのコンフィギュレーションファイル
C:\Program Files\PostgreSQL\10\data
postgresql.conf
を開き、以下のように変更し、パソコンを再起動する。するとエラーが表示されるようになった。
###変更前
postgreslq.conf
lc_messages = 'japanese_japan.932'
lc_monetary = 'japanese_japan.932'
lc_numeric = 'japanese_japan.932'
lc_time = 'japanese_japan.932'
###変更後
postgreslq.conf
lc_messages = 'en-US'
lc_monetary = 'en-US'
lc_numeric = 'en-US'
lc_time = 'en-US'
コマンドプロンプト
connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: password authentication failed for user "DBUSER"
以下のサイトを参考に対処しました。
https://github.com/psycopg/psycopg2/issues/417