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

标签 django postgresql psycopg2 django-settings

我想将 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/

相关文章:

python - 具有唯一电子邮件的 Django auth.user

django - 为 django 应用程序提供服务时出现 uwsgi 段错误

Python - psycopg2 执行后出错

使用假用户的 Django 测试模型

python - 如何向 django-tables2 LinkColumn 添加 GET 参数

django - 用于 django 应用程序的 nginx + FastCGI——运行两个还是一个 Web 服务器?

postgresql - 如果同时运行多个事务,它们是否必须属于不同的连接?

sql - PostgreSQL - 为什么这个语句会导致语法错误?

postgresql - 将多个 postgres 脚本合并到一个文件中

python - PostgreSQL Python 将表从一个数据库复制到另一个数据库