web-dev-qa-db-ja.com

django.db.utils.OperationalError:fe_sendauth:パスワードが指定されていません

Githubからレポジトリを複製し、作業しています。プロジェクトはDjangoにあり、postgresをデータベースとして使用しています。このプロジェクトは現在プロダクション側にあり、変更する必要があります。データベースの仕様は次のとおりです。

DATABASES = {
    'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        # Or path to database file if using sqlite3.
        'NAME': 'project_name',
        'USER': 'admin',
        'PASSWORD': '',
        # Empty for localhost through domain sockets or           '127.0.0.1'
        # for localhost through TCP.
        'Host': 'localhost',
        'PORT': '5432',
    }
}

ローカルホストでこれを実行したいのですが、できません。エラーが発生しています:

Django.db.utils.OperationalError: fe_sendauth: no password supplied

この問題を検索しましたが、私に役立つ解決策が見つかりませんでした。誰が問題がどこにあるか教えてもらえますか?

15

ローカルパスワードを使用しない接続を使用する場合は、値「Host」、「PORT」、および「PASSWORD」を削除する必要があります。

この設定では、コネクタはUnixドメインソケットを使用して接続しようとします。これは、Postgresでデフォルトで許可されている接続よりも少ない接続のみが許可されています

16

この問題に対する2つの可能な解決策を考えることができます。

最初、データベースのパスワードがない場合は、PASSWORDキーを削除します。例えば。:

DATABASES = {
    'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'NAME': 'project_name',
        'USER': 'admin',
        'Host': 'localhost',
        'PORT': '5432',
    }
}

Second、データベースのパスワードがある場合、PASSWORDキーで提供します。

DATABASES = {
    'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'NAME': 'project_name',
        'USER': 'admin',
        'PASSWORD': '<YOUR PASSWORD HERE...>',
        'Host': 'localhost',
        'PORT': '5432',
    }
}
2
Floyd