英文:
Connecting Postgresql to Django
问题
我正在尝试将两个数据库连接到Django项目,以便我可以在开发时使用一个,而在生产时使用另一个。
我的设置文件:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES["default"].update(db_from_env)
export DATABASE_URL=path_to_database
当我尝试运行服务器时,我收到了这个错误:“django.db.utils.NotSupportedError: 需要 PostgreSQL 12 或更高版本(发现 11.18)”。
但当我在终端中输入psql时,我得到:psql(14.7(Homebrew),服务器 15.2)。
而我在我的Mac上未安装 PostgrSQL@11。
<details>
<summary>英文:</summary>
I am trying to connect 2 databases to django project so I can use one for develop and another on production
My setting file
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES["default"].update(db_from_env)
export DATABASE_URL=path_to_database
When i try to run server I got this error: "django.db.utils.NotSupportedError: PostgreSQL 12 or later is required (found 11.18)."
But when i write psql in terminal I got: psql (14.7 (Homebrew), server 15.2)
And PostgrSQL@11 is not installed on my mac
</details>
# 答案1
**得分**: 1
即使`psql`客户端连接到更新版本的`PostgreSQL`服务器,你的机器上可能还有其他运行中的`PostgreSQL`服务器。
你可以通过运行 `ps auxwww | grep postgres` 来找到它们。
每个运行中的服务器都在不同的端口上监听。因为`psql`客户端正在连接到`PostgreSQL@14.7`,这个服务器可能在端口5432上运行(这是`psql`默认连接的端口)。
检查你的Django环境配置中的端口号 - 可能Django正在尝试连接到监听在不同端口上的`PostgreSQL`服务器。
<details>
<summary>英文:</summary>
Even if `psql` client is connected to a newer version of `PostgreSQL` server, there might be additional `PostgreSQL` servers running on your machine.
You can find them by running `ps auxwww | grep postgres`.
Each running server listens on a distinct port number. Because `psql` client is connecting to `PostgreSQL@14.7`, this server is probably running on the port 5432 (that is the default port `psql` is connecting to).
Check your Django env config for the port number - probably Django is trying to connect to `PostgreSQL` server listening on a different port.
</details>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论