根据Django Postgres Documentation的文档,我添加到我的settings.py
在我设置的设置中
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'OPTIONS': {
'service': 'my_service',
'passfile': '.my_pgpass',
},
}
}
在www.example.com附近settings.py,我创建了pg_service.conf
[my_service]
host=localhost
user=USER
dbname=NAME
port=5432
我创建了mypg_pass
localhost:5432:PostgreSQL 14:postgres:LetMeIn
我很确定我遵循了文档,但在python manage.py检查我得到了以下错误。
connection = Database.connect(**conn_params)
File "C:\Users\oliver\base\correlator2v2\correlator2home\venv\lib\site-packages\psycopg2\__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)django.db.utils.OperationalError: definition of service "my_service" not found
3条答案
按热度按时间ssm49v7z1#
在www.example.com旁边settings.py,我创建了pg_service.conf
这不是系统查找的位置,请参见the docs
“默认情况下,每个用户的服务文件名为~/.pg_service. conf。”其中~指的是您的主目录,而不是您的当前目录(当然也不是指'www.example.com所在的同一目录settings.py',因为PostgreSQL甚至不知道该文件是什么)
eivgtgni2#
它无法找到服务,但实际上一个人根本不需要使用服务...
OP可以简单地
7cjasjjr3#
这是我如何让它在psycopg3.1.9中工作(Django 4.2):
然后在
~
上创建.pg_service.conf: