Run chatflow meet error: Run failed: (psycopg2.OperationalError) FATAL: sorry, too many clients already (Background on this error at: https://sqlalche.me/e/20/e3q8) #16140

Closed
opened 2026-02-21 19:24:47 -05:00 by yindo · 1 comment
Owner

Originally created by @Jimmy-L99 on GitHub (Aug 13, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.7.1

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Workflow as follow:

Image

meet error:

Image

The image file upload in the workflow works normally, but if don't design multiple LLM nodes to run in parallel, or if the parallel count is small, it seems no errors occur. Why is that?

✔️ Expected Behavior

Actual Behavior

Originally created by @Jimmy-L99 on GitHub (Aug 13, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.7.1 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce Workflow as follow: <img width="713" height="646" alt="Image" src="https://github.com/user-attachments/assets/a5a7e2ca-6360-46ac-8053-7f21c6edf840" /> meet error: <img width="702" height="782" alt="Image" src="https://github.com/user-attachments/assets/d9ddcf6b-17d5-4327-96f6-04658805e540" /> The image file upload in the workflow works normally, but if don't design multiple LLM nodes to run in parallel, or if the parallel count is small, it seems no errors occur. Why is that? ### ✔️ Expected Behavior * ### ❌ Actual Behavior *
yindo closed this issue 2026-02-21 19:24:47 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Aug 13, 2025):

This error happens because running multiple LLM nodes in parallel increases the number of concurrent database connections, which can exceed PostgreSQL’s max_connections limit. By default, Dify’s Docker setup uses POSTGRES_MAX_CONNECTIONS=100 and a SQLAlchemy pool size of 30, but parallel workflows (like 10 LLM nodes at once) can quickly exhaust these limits, especially if you have other users or services connected at the same time [docker/.env.example].

To fix this, you can:

  1. Increase PostgreSQL max_connections: Set POSTGRES_MAX_CONNECTIONS to a higher value (e.g., 200 or more) in your .env and docker-compose.yaml files, depending on your server’s resources [issue #20366].
  2. Tune SQLAlchemy pool settings: Lower SQLALCHEMY_POOL_SIZE (e.g., 20), set SQLALCHEMY_MAX_OVERFLOW=10, and SQLALCHEMY_POOL_RECYCLE=1800 to avoid exhausting connection slots and to recycle idle connections [issue #13875].
  3. Reduce workflow parallelism: Lower the MAX_PARALLEL_LIMIT environment variable if you don’t need maximum concurrency. This directly reduces the number of simultaneous DB connections [pull #23104].
  4. Restart all services after changing these settings so the new configuration takes effect [issue #20366].

If you still hit the limit, check for other clients using the same PostgreSQL instance, and make sure your server has enough memory for the increased connections. For high concurrency, proactively monitor and tune these settings to match your workload [issue #16223].

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Aug 13, 2025): <!-- Answer --> This error happens because running multiple LLM nodes in parallel increases the number of concurrent database connections, which can exceed PostgreSQL’s `max_connections` limit. By default, Dify’s Docker setup uses `POSTGRES_MAX_CONNECTIONS=100` and a SQLAlchemy pool size of 30, but parallel workflows (like 10 LLM nodes at once) can quickly exhaust these limits, especially if you have other users or services connected at the same time [[docker/.env.example](https://github.com/langgenius/dify/blob/cc4d82f932081ce0edb39f669659a716a479d1f0/docker/.env.example)]. To fix this, you can: 1. **Increase PostgreSQL max_connections**: Set `POSTGRES_MAX_CONNECTIONS` to a higher value (e.g., 200 or more) in your `.env` and `docker-compose.yaml` files, depending on your server’s resources [[issue #20366](https://github.com/langgenius/dify/issues/20366)]. 2. **Tune SQLAlchemy pool settings**: Lower `SQLALCHEMY_POOL_SIZE` (e.g., 20), set `SQLALCHEMY_MAX_OVERFLOW=10`, and `SQLALCHEMY_POOL_RECYCLE=1800` to avoid exhausting connection slots and to recycle idle connections [[issue #13875](https://github.com/langgenius/dify/issues/13875)]. 3. **Reduce workflow parallelism**: Lower the `MAX_PARALLEL_LIMIT` environment variable if you don’t need maximum concurrency. This directly reduces the number of simultaneous DB connections [[pull #23104](https://github.com/langgenius/dify/pull/23104)]. 4. **Restart all services** after changing these settings so the new configuration takes effect [[issue #20366](https://github.com/langgenius/dify/issues/20366)]. If you still hit the limit, check for other clients using the same PostgreSQL instance, and make sure your server has enough memory for the increased connections. For high concurrency, proactively monitor and tune these settings to match your workload [[issue #16223](https://github.com/langgenius/dify/issues/16223)]. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/cfdfe048-a571-4df6-a8cb-ea8c43904f3c?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/23904)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16140