带有单独凭证文件的 Django PostgreSQL 设置?

oon*_*dwi 2 django postgresql psycopg2 django-settings

我想将 Django 数据库从 MySQL 迁移到 PostgreSQL。以前我使用过数据库配置选项,就像Django 网站上的示例一样。

数据库设置上的 MySQL 引擎有选项:“read_default_file”,因此我可以在外部文件上分离数据库凭据。

现在我准备使用 psycopg2 引擎切换到 PostgreSQL,但我找不到像 read_default_file 这样的类似选项。

有什么解决办法吗?

或者我可能应该更改为具有此选项的 PostgreSQL 的其他数据库引擎?谢谢

e4c*_*4c5 5

read_default_file纯粹是mysql的事情。它不能用于 postgresql。postgresql 中最接近的等效项是.pgpass文件,该文件需要在运行 psql 客户端的用户的主目录中创建。这定义了用户的密码。

当你在开发中使用 django 时,在你的主目录中创建一个文件就可以了。但在生产中你不应该运行 django 开发服务器。生产 WSGI 服务器在可能没有主目录的受限用户帐户下运行。在这种情况下,您需要使用PGPASSFILE环境变量来告诉 django 在哪里查找密码。