我想将 Django 数据库从 MySQL 迁移到 PostgreSQL。 之前我使用过数据库配置选项,就像 Django website 中的示例一样。 .
数据库设置上的 MySQL 引擎有选项:“read_default_file”,因此我可以在外部文件上分离数据库凭据。
现在我准备切换到带有 psycopg2 引擎的 PostgreSQL,但我找不到像 read_default_file 这样的类似选项。
有什么解决办法吗?
或者我可能应该更改为具有此选项的 PostgreSQL 的其他数据库引擎?谢谢
最佳答案
read_default_file
纯粹是 mysql 的事情。它不能用于 postgresql。 postgresql 中最接近的等价物是 .pgpass file 该文件需要在运行 psql 客户端的用户的主目录中创建。这定义了用户的密码。
当你在开发中使用 django 时,在你的主目录中创建一个文件就可以了。但在生产中你不应该运行 django 开发服务器。生产 WSGI 服务器在可能没有主目录的受限用户帐户下运行。在这种情况下,您需要使用 PGPASSFILE 环境变量来告诉 django 在哪里查找密码。
关于带有单独凭证文件的 Django PostgreSQL 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44352754/