我已经阅读了Django文档以及其他使用Django通过Unix套接字使用PostgreSQL的参考资料,但我很难尝试使用.env文件中的DB URL找到正确的格式(如果可能)。
我的env文件中的当前DB conn参数是:
DATABASE_URL="psql://sqluser:passwd@127.0.0.1:5432/dbname"
我试过了:
DATABASE_URL="psql://sqluser:passwd@/var/run/postgresql/.s.PGSQL.5432/dbname"
我在pg_hba.conf中的dbname上为sqluser设置了MD5,但是我得到了:
psycopg2.OperationalError: FATAL: Peer authentication failed for user "sqluser"
我的pg_hba.conf:
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local dbname sqluser md5
local all all peer
PSQL日志显示用户ID已传递,但与Unix用户冲突是一个错误,因为它似乎想要使用对等方法而不是MD5。