4 ms·
Mathesar project lead here, it's a nice surprise to see this on the front page! I'm happy to answer questions if anyone has any.
by kgodey 2y ago
Mathesar project lead here, it's a nice surprise to see this on the front page! I'm happy to answer questions if anyone has any.
- amarant 2y agoHow do you differentiate from, say, dbeaver, or any similar database management software? What's the main reason to get Mathesar instead of DBeaver?
- sixdimensional 2y agoI'm not related to the author or developers, but this appears almost like an Airtable-like (or Nocodb) UI on top of postgres, so it's really quite a different experience than a full database manager tool/IDE like DBeaver or DataGrip. I love it personally and it looks pretty good so far. Also, amazing that the team started it as an open source project under a 501c3 nonprofit as well. Having a more "spreadsheet" (or I would say, MS Access-like) UI is quite cool for certain use cases (e.g. low/no-code but backed by the full power of regular old Postgres). Can allow pretty agile development, although - it can get out of control if not managed with care... but nice to see the access controls/permissions there to help a bit. All interesting choices, looks cool!
- Imustaskforhelp 2y agoYes this definitely feels like MS access but open source and based on postgres which is awesome!
- thomasfromcdnjs 2y agoI'd be more curious about how it differs to Metabase?
- kgodey 2y agoMetabase is a BI tool focused on querying, reporting, and visualization, but it’s read-only. Mathesar is closer to Airtable, you get a spreadsheet-like UI, you can view and query data like Metabase, but you can also add and edit data or even modify the data model (if the permissions allow it). Unlike Metabase, Mathesar also lets you create a database from scratch rather than just connecting to an existing one. Metabase adds an abstraction layer with concepts like questions, segments, and metrics, while Mathesar works directly with Postgres tables, schemas, and permissions. Mathesar is deeply integrated with Postgres, so it supports Postgres-native features like role and privilege based access control, which aren’t possible in products designed for multiple database backends. I hope that helps!
- kgodey 2y agosixdimensional covered this pretty well, but just to reiterate, I believe DBeaver is primarily a desktop app aimed at a technical audience. Mathesar is web-based and designed to have an intuitive, collaborative, spreadsheet-like UI for non-technical users who know anything about SQL or DB concepts. Also, Mathesar has deep integration with Postgres features e.g. you can configure roles and privileges through the UI.
- zokier 2y agoWhat about tools like LibreOffice Base and KDEs Kexi?
- anonym29 2y agoFar too technical for the target audience, who has never heard of a "linux" and doesn't care about cost, software freedom, the petite tyranny happily imposed by corporations, etc, they just want it to "just work" on their smartphone browser.
- kgodey 2y agoI think they're pretty different use cases. LibreOffice Base and Kexi are desktop database frontends focused on local databases, while Mathesar is web-based, self-hosted, can be connected to a remote database, and built for multi-user collaboration.
- philkrylov 2y agoThe main problem with them is they are not working yet and there are not enough people working on improving that.
- irq-1 2y ago> ... spreadsheet-like UI for non-technical users who know anything about SQL or DB concepts. All the language is DB: it's tables not spreadsheets, records not rows, etc... It also doesn't hide things like 'schema' button or metadata like table description. Maybe this project could do things like integrations with web services, easy actions on groups (like paste a list of ids and do something to all those records), and publicly available web pages (surveys, donations, pretty event pages.)
- potamic 2y agoYour website says you're a non-profit. Do you have any monetization plans down the line, otherwise how are you planning to maintain funding?
- kgodey 2y agoHere's some background info on our current funding: https://mathesar.org/blog/2024/03/28/mathesar-foundation-announcement https://mathesar.org/blog/2024/03/28/mathesar-foundation-ann... We're working on multiple options for sustainability, both the traditional nonprofit route (major donors, individual sponsors, etc.) and also looking into revenue from hosting or services. We're committed to always being 100% open source and self-hostable no matter what.
- Galatians4_16 2y agoAh. Thermians, from the Klaatu Nebula. Or was it Dalmations?
- kgodey 2y agoI think it was termites. But they built a huge spaceship.
- igor47 2y agoHow does this compare to retool? I've been using that to build UIs directly on top of Postgres, and it's been nice to be able to design the screens a little; eg inserting new rows linked to a currently selected row by primary key. Curious if you're targeting primarily a spreadsheet-like view, or if the interface can be customized. How does the spreadsheet view work across multiple linked table? Can you present the tabular info in non tabular ways (e.g. a row details or editor view)
- kgodey 2y agoWe don't have any ability to customize UIs yet, although we're certainly open to feature requests. We do have a "Record Page" for each individual record that shows a tabular view of related records from other tables, here's a screenshot from our website: https://mathesar.org/_app/immutable/assets/step-2.CKT9S1j0.avif https://mathesar.org/_app/immutable/assets/step-2.CKT9S1j0.a... - you can create new linked records directly there. As for working with multiple linked tables, while editing data, you can search through nested links easily, here's an screenshot illustrating the record selector: https://mathesar.org/_app/immutable/assets/step-3.SKu3rwM2.avif https://mathesar.org/_app/immutable/assets/step-3.SKu3rwM2.a... We also have a visual query builder that can join data across tables: https://github.com/user-attachments/assets/7ff100fe-cd26-4229-af3b-a5a5bb70b0b7 https://github.com/user-attachments/assets/7ff100fe-cd26-422... and https://github.com/user-attachments/assets/0df680d3-621d-466a-9915-d560001a3931 https://github.com/user-attachments/assets/0df680d3-621d-466... I hope that helps!
- savolai 2y agoThis would probably work for us but being able to * do unit conversions by a multiplier - showing converted values in ui and converting on read and store * hiding some (empty and irrelevant for specific situation) fields conditionally on values of other fields would make this a much better fit.
- kgodey 2y agoThank you! Where would you need to hide these fields? If you had some time, it would be great if you could make a GitHub issue with more details about your use case! https://github.com/mathesar-foundation/mathesar/issues https://github.com/mathesar-foundation/mathesar/issues
- boruto 2y agoI tried to propose this to our team, But the option that it installs some schemas was a blocker. I do like using this tool on local pgdump.
- kgodey 2y agoYeah, I understand why that would be a concern. For what it's worth, our schemas are completely isolated and never touch any other data. We use them to store our DB functions and custom data types. The functions are what lets us reflect the latest DB state in the UI in real-time without worrying about schema migrations or adding a bunch of reflection queries to each API call (which would make the UI much less responsive). We just need them installed _somewhere_ in the database. Our custom data types (e.g. email, URL) are just available for convenience. If you don't have any columns that use those types, then you'll never need to deal with them.
- maxloh 2y agoAny comments on Outerbase? That poped up on HN too a few weeks ago.
- zackdotcat 2y agoI'm not OP but from my experience with both tools there are some main differences within the products: 1. Mathesar includes a lot of cool UI elements for CRUD operations on tables, schemas, and columns. Outerbase doesn't have any UI for this, but only a SQL editor. 2. Mathesar has a lot of support for "relationships" (more accurately described as references in Postgres, but I digress) that Outerbase does not. For example, if you're inserting a foreign key column into Outerbase you have to manually type the value of the column you're referencing. In Mathesar, you'll see a dropdown of all the "related" rows and be able to search through their columns to find the record you need. 3. Mathesar is postgres-exclusive, while Outerbase works with many other DB providers. And more in terms of governance and usage: 1. Outerbase is paid, with a very restrictive free tier. The option to self host is only available to enterprise customers. 2. Mathesar is entirely free and self-hosted.
- burcs 2y agoHi I'm one of the founders of Outerbase, just want to clarify a few things, seems like you might have some wrong information on Outerbase. Big fan of Mathesar by the way! 1. We have a incredibly powerful CRUD editor on our table, in fact you can drag and drop and select multiple columns & rows, I haven't seen many other DB editors support this. 2. We allow you to pick foreign key constraints from a dropdown as well. 3. This is true. 4. Outerbase is open-source with more and more features heading into our core offering there. https://github.com/outerbase/studio https://github.com/outerbase/studio
- zackdotcat 2y agoMy apologies burcs, I indeed missed your table creator UI and the subsequent "Edit table" view, those are quite nice!
- sirjaz 2y agoAny plans to test and support this on Windows Server, since there is nothing directly tied to Linux from what I can tell.
- kgodey 2y agoWe don't have the capacity to do that internally, but we were thinking about having a "Community Guides" section of our docs where people could contribute guides to setting up Mathesar on different infrastructure. Let me know if that's something you'd be interested in contributing to!
- maxloh 2y agoI think the better way to achieve that would be just using the Docker container. There should be any notable performance decline, since the Python backend is just an API proxy towards PostgresSQL database servers.
- deleted 2y ago[deleted]