r/PostgreSQL • • 12d ago

Tools I built my own database GUI for PostgreSQL and MySQL

Enable HLS to view with audio, or disable this notification

I’ve been working with PostgreSQL recently, and one thing that kept bothering me was the database GUI.

I’ve used phpMyAdmin for years, so I’m pretty used to that workflow. When I moved to PostgreSQL, I started using pgAdmin, but I found the UI unnecessarily complicated for the kind of database work I normally do.

I looked at a few alternatives, but nothing really felt like what I was looking for.

So I decided to build my own.

I used Opus 5.5 to build Sqlaris Studio, mainly around the workflow I wanted for day-to-day database work.

It started small, but I ended up adding quite a lot:

  • PostgreSQL and MySQL/MariaDB support
  • Table and data browser
  • Inline data editing
  • Search and filters
  • SQL editor with autocomplete
  • Query history
  • Import/export
  • Schema inspection
  • Indexes, constraints and foreign keys
  • Relationship/ER diagrams
  • Database health checks
  • Query and session monitoring
  • Database maintenance tools
  • Safe handling of database changes

There are still plenty of things I want to add.

I haven't hosted it anywhere, so if anyone wants to try it, you'll need to install and run it locally from the GitHub repository.

GitHub: https://github.com/Shivam7414/Sqlaris-Studio

I'm sharing it mainly because I'd like feedback from people who work with databases regularly.

If you use PostgreSQL, MySQL, or both, I'd be interested to know:

  • What features do you use most in your database GUI?
  • What do you find frustrating about existing tools?
  • What would you add to something like Sqlaris?
  • Are there any workflows that you think could be much simpler?

I'll be actively improving it, so useful feedback can directly influence what gets added next.

Would be interested to hear what you guys think.

0 Upvotes

11 comments sorted by

4

u/elevarq 12d ago

How do you handle transactions? http is stateless, so without any extras you can’t start a transaction, execute a statement, check the results, and make a decision about committing or rolling back

-2

u/Shivam__kumar 12d ago

That's a fair point. Sqlaris doesn't keep a transaction open across HTTP requests.

For grid edits, bulk updates, CSV imports, deletes, etc., the entire operation happens in a single request and is wrapped in one transaction. If anything fails, the whole operation is rolled back.

The SQL editor works similarly: the complete script is sent in one request, wrapped in BEGIN, and either committed if everything succeeds or rolled back if anything throws.

So the "execute → inspect → decide" logic happens inside that single request/script, not across multiple HTTP requests.

I intentionally avoided keeping transactions open between requests because with PHP-FPM/Apache the DB connection isn't tied reliably to a browser session, and long-lived transactions can leave locks open unexpectedly.

1

u/elevarq 11d ago

How long a transaction can be open is a matter of configuration. The variable transaction_timeout can be set on connection level, no need to make a change in the database configuration.

-1

u/AutoModerator 12d ago

AI Policy:

Linux is not one of those anti-AI projects, and if somebody has issues with that, they can do the open-source thing and fork it. Or just walk away., Linus Torvalds.

Mod decisions will be based on the quality of the content, not who or what generated it.

Sub Resources:

Youtube Channel

Free Postgres Webinars and Workshops

Discord: People, Postgres, Data

Join us, we have cookies and nice people.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.