Question

App platform and postgresql connection pool wont work

I am successfully running a python app in app platform, and it reaches the managed Postgres database just fine.

I have created a connection pool in the database to increase the connection limit, but when updating the connection parameters in the python app, I just get timeouts when trying to reach the database connection pool.

What I have tried:

  • The app is whitelisted in the trusted sources of the database
  • The connection string to the pool works fine! I have the same python app running outside Digital Ocean and works fine!
  • When I skip the connection pool and go straight to the database, everything works fine!
  • I have tried attaching the database to the App in App Platform.
  • Searched in the forum and others are having the same issue with different programming languages.

I can’t deactivate trusted sources in the database, since it is required for the project.


Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
August 21, 2022
Accepted Answer

Hi there,

There has been a similar question here:

https://www.digitalocean.com/community/questions/can-we-connect-to-a-postgresql-connection-pool-from-app-platform

Unfortunately using Trusted Sources with App Platform and PostgreSQL connection pools is not supported, however, we are actively working to support that functionality.

As of the time being, there is a workaround mentioned in the question above that suggests creating an Internal Service that’s only accessible by the other components using a PgBouncer docker image.

Best,

Bobby