gpt4 book ai didi

postgresql - 到我的docker postgres数据库容器的连接数开始于11?

转载 作者:行者123 更新时间:2023-12-02 21:30:18 25 4
gpt4 key购买 nike

我最近开始学习Docker。我使用Phoenix应用程序设置了一个容器,并使用Postgres 12.4将其数据库迁移到了另一个容器。我收到“太多的客户端连接错误”,但是当我将限制从10增加到100后,这种情况就消失了。
我进入数据库,发现到该应用程序的数据库应用程序有11个数据库连接。我不确定这些连接来自何处,因为在数据库开始时我没有做任何事情,除了设置数据库或执行迁移外。这些联系的来源可能是什么?
这是我的Ecto.Repo设置:

# Configure your database
config :discuss, Discuss.Repo,
url: "postgres://postgres:postgres@db:5432/discuss_dev",
username: "postgres",
password: "postgres",
database: "discuss_dev",
hostname: "db",
port: 5432,
show_sensitive_data_on_connection_error: true,
pool_size: 10
这是我的docker-compose.yaml:
version: '3.6'
services:
db:
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DATABASE: discuss_dev
POSTGRES_HOST_AUTH_METHOD: trust
image: 'postgres:12-alpine'
restart: always
ports:
- "11005:5432"
expose:
- "11005"
volumes:
- 'pgdata:/var/lib/postgresql/data'
web:
build: .
depends_on:
- db
environment:
MIX_ENV: dev
env_file:
- .env
ports:
- "11001:4000"
expose:
- "11001"
volumes:
- .:/app
volumes:
pgdata:
My application database has 11 connections

最佳答案

您的池大小为10,并建立了另一个连接(大概不是通过该池),以查看您有多少个连接。如果Ecto的池管理者渴望建立连接(我不知道是否建立连接),那么很容易看到10 + 1应该是11。
如果您想进一步调查,pg_stat_activity将显示很多有关每个连接的信息,例如它来自什么IP地址,application_name是什么以及当前或最后执行的查询是什么。

关于postgresql - 到我的docker postgres数据库容器的连接数开始于11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64640067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com