Skip to content

[Question][DB] What is necessary to make Postgres "officially supported"? #8350

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
mstrangfeld opened this issue Mar 20, 2025 · 5 comments
Labels
type/question This issue is a question

Comments

@mstrangfeld
Copy link

Question

Hey, we are currently starting to use DevLake at my organization and I love it!
However, we usually don't use MySQL and prefer Postgres as we have the tools and knowledge to maintain these databases.

So, my question is:
What is necessary to make Postgres "officially supported" by DevLake?

I ran DevLake local with Postgres and everything seems to work just fine with exception for the predefined Grafana dashboards, of course.

@mstrangfeld mstrangfeld added the type/question This issue is a question label Mar 20, 2025
@klesh
Copy link
Contributor

klesh commented Mar 24, 2025

We appreciate you bringing this to our attention and understand the potential value. However, given our current roadmap and resource constraints, investing the effort required for this change is not feasible for us at this point in time. We don't have plans to implement this in the near future.

@mstrangfeld
Copy link
Author

Thank you for the update. I completely understand the resource constraints. Since you're not currently planning to work on this, I'd like to offer to contribute myself (with backing from my employer).

I've already validated that DevLake runs with Postgres with only dashboard compatibility issues. I'm willing to put in the work to make Postgres an officially supported option. To make this worthwhile for both sides, could you clarify what would be needed for you to consider merging such a contribution?
Specifically, I'd appreciate guidance on:

  • What test coverage would be required (integration tests, smoke tests, etc.)
  • Documentation updates needed
  • Any design considerations or architectural constraints I should be aware of

We've already standardized on Postgres in our organization, and I believe many other users might benefit from this option as well.

I'm happy to collaborate on making this happen without burdening your core team resources.

@klesh
Copy link
Contributor

klesh commented Mar 25, 2025

Great to hear you're offering to contribute Postgres support, that's very welcome!

You're right, the main hurdle is indeed the Grafana dashboards being MySQL-centric. What do you think we should do to make it "Officially supported" ?

In terms of your questions for merging a contribution:

Testing: We don't have automated dashboard tests currently. For your contribution, demonstrating functional Postgres dashboards will be key. We can discuss validation methods.
Documentation: Yes, installation (Helm/Docker Compose) and general docs will need updates for Postgres.
Design: Ensure installation updates are user-friendly for Postgres selection and configuration.

@Bermos
Copy link

Bermos commented Apr 2, 2025

Hey @mstrangfeld, we are also working with a Postgres DB and would like to make this officially supported. From our experience the ingestion part works well, the biggest problem are the Grafana dashboards.
I've done some research and stumbled upon this project from Grafana themselves: https://grafana.github.io/grafana-foundation-sdk/next+cog-v0.0.x/go/How-To/custom-query-type/ . It basically allows for defining dashboards with their panels and queries to be defined in code (Go is supported) and then "rendered" as JSON. This would allow us to in a first step to render out both MySQL and Postgres Queries in their respective dashboards. Other things that would make it more practical to use in my opinion:

Another, smaller issue is the helm chart which needed quiet some fiddling to get working properly with a Postgres DB but I'd say that has a lower priority. Feel free to contact me if you'd like to discuss any of those inputs.

@klesh
Copy link
Contributor

klesh commented Apr 8, 2025

One thing came to my mind: I heard that Postgres performance would degrade after collecting too much data many times due to the Vaccum mechansim fail to keep up with the massive Delete+Insert operations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/question This issue is a question
Projects
None yet
Development

No branches or pull requests

3 participants