Are you asking for a tool for querying and using the PostgresSQL database? If so I prefer DBeaver on Mac. It’s free and open source. https://dbeaver.io
Also there is pgAdmin, which is kind of an “official” one. In my opinion it’s clunky not as option packed as DBeaver.
Edit: Azure Data Studio works on Mac too. Again, not as good as DBeaver, IMO. Azure’s community support could eventually bring it towards to top of the list though.
I switched to DBeaver from pgAdmin and never looked back
There might be some PG specific tools that pgAdmin provides, but all I really need is an SQL editor and an ERD generator
We have 6 DB's, (two on prod, test, and local each).
I use DBeaver's environment profiles to make prod 1) read only, 2) red color coded, 3) manual commit transaction mode only. If I need to modify prod directly, I have to disable "read-only" and re-connect
I also require a VPN to get to prod, and I don't cache login credentials on prod, so I can't auto connect to prod after logging out of Windows
You might look at DBeaver (https://dbeaver.io/)
I'm not a MySQL person, but I know this works well for PostgreSQL, and it also offers support for MySQL (and everything else you ever heard of).
I’m a fan of JetBrain’s Datagrip. It’s a cross platform IDE for writing SQL. It does a good job of handling Spectrum external schemas.
https://www.jetbrains.com/datagrip/
A close second is DBeaver. I recommend it when cost is a problem. I actually prefer it for Athena instead of Datagrip.
i miss pgAdmin 3 a lot - it was a really great tool (despite some bugs that didn't get fixed in years...). I've heard of it's terrible codebase and understand that a team can get to the point where a complete rewrite simply is the better/easier option - but it feels like ever new release of pgAdmin 4 is broken for the first week because of weird bugs. As much as i want to use it, i just couldn't stand it anymore - this might also be the case for you.
The tool i'm using at the moment is DBeaver. The UI is, in my optinion, pretty ugly (as all eclipse-based programs seem to be...) but it's very clean, easy to understand and has a lot of great features.
Takes some days to get used to, but that's to be expexted after ~8 years of working with the same great tool (and over 2 years trying to give it's successor a chance only to be disappointed again and again...).
I also tried DataGrip and liked it quite a lot - feature-rich AND good-looking - but since i was looking for something free, just like you, i switched back to DBeaver.
If anyone involved in pgAdmin 4 reads this: i don't want to sound mean. i hope pgAdmin 4 will be great someday - but at the moment, almost three years after it's initial release, it's still buggy mess with, in parts, really clunky UI - much more than pgAdmin 3 ever was. And even though it brought us a bunch of new features (the dashboard... and autocompletion that's barely ever woirking correctly...), it's still missing quite some that pgAdmin 3 had (a f***ing query-history that's not gone after a restart...).
​
^(sorry for the rant; i had to get that off my chest; pgAdmin 4 is haunting my dreams.)
Step 1 is installing a database a relational database management system (RDBMS). There are a few free options with their own strengths and weaknesses, including Postgres, MySQL, MariaDB and SQLite.
My personal preference is Postgres but they'll all do the job so don't stress about it.
Then you create your database schema using DDL, a SQL like language that lets you create DB tables and define the data they store and how they relate to each other.
Then you can import your data. Most RDBMS apps will have some kind of bulk insert tool that lets you import CSV files, etc.
There will be a simple terminal app that lets you query your database that comes with the RDBMS (in postgres' case it's psql). There are a load of fancier tools too if you want them, I hear good things about https://dbeaver.io/ for example.
I tend to just use the terminal because I'm a dinosaur.
​
It sounds like a lot of work but it's not too bad and it's a useful skill to have.
I just started doing some self study courses (a couple weeks in) and I've been using SQLiteStudio, which allows you to Read/Create SQLite tables. (https://sqlitestudio.pl/) but if you want something more robust I've also been using DBeaver (https://dbeaver.io/). It can access a whole host of different RDBMS.
I simply used jlink
to generate a minimized JRE, and zipped it with the app (by ./gradlew imageZip
) to make a self-contained package. Now, anyone can extract the zip and run it without needing any JRE. This is similar to how zips from DBeaver work. Note that there are no installers involved here.
I've never used javapackager
, but afaik it also uses jlink internally and packages everything into platform-specific installers (like deb, msi, dmg) instead of a plain zip file. And GraalVM doesn't work with SWT yet.
You could perhaps try DBeaver's diagram generation tool? Looks like this
It probably won't handle generating a diagram of this scale but it's worth a shot. No idea if it's possible to export the diagram as a vector file or not.
And yes, all of our tables have their own integer, db incremented, PK's. Even the many to many linker tables. yes.
where is the `customers` table? Also, some sample data should be supplied rather than having to make some up. I guess we could make some assumptions that, at the very least, the customer table would look something like this:
CREATE TABLE customers (
id INTEGER NOT NULL,
name VARCHAR,
PRIMARY KEY (id)
)
However, more complete data would be useful.
As far as the tool, then you can use the built-in sqlite3
tool, download the DB Browser for SQLite, or one of the many other multi-db tools. My preference is DBeaver
My own findings, from the first Buster release, MySQL Workbench *.deb too hassle to install (dependency error here and there) 🙈😅
I ended up using a Docker image by Oorabona https://hub.docker.com/r/oorabona/mysql-workbench/dockerfile
Then later, switch to DBeaver https://Dbeaver.io for complex MySQL task.
For daily SQL, I prefer MyCLI https://www.mycli.net/ 👍🏻
I've been a full time Mac user since ~2012 (home & work) but ~6 months ago I switched to Ubuntu at home and am switching at work soon. I've used Debian/Ubuntu and Arch on and off since about 2009 so I'm fairly familiar with it.
Hardware-wise I miss the Mac (specifically the touchpad), but frankly I am not a fan of their newer models so I don't feel I am missing out on much there. Tooling-wise everything is about the same. Some things I miss are SequelPro, but DBeaver is actually a very good replacement and, bonus, it also works with PostgreSQL.
Speaking of postgres, if you use local databases you will probably have to dig through some documentation to set that up whereas on Mac you can get stuff like Postgres.app to do it all for you. But again, not a big deal.
I highly recommend installing fusuma which is a customizable multitouch gesture tool if you use a touchpad. I've found it works well with Gnome 3 (name the three-finger swipe to see all open windows) but I'm sure it can work with other DEs too.
The biggest thing I miss is iTerm2 which had some really unique features that I can't seem to find a replacement for in Ubuntu, but it's not enough of a problem to be a deal-breaker. Gnome Terminal works fine for me.
Definitely use a query builder. I like Illuminate/database
, usually part of Laravel but easy to use outside of it.
Then when you have a query that uses significant parts of another, you can write a function that only does those parts to the query builder, without messy string concatenation. Like, instead of const tbls1to4 = 'tbl1...
you get:
public function addMyJoins(QueryBuilder $qb)
{
return $qb
->join('tbl2', 'tbl2.id', '=', 'tbl1.id')
->join('tbl3', 'tbl3.id', '=', 'tbl2.id')
->join('tbl4', 'tbl4.id', '=', 'tbl3.id');
}
It's a big step up from trying to mess with building SQL from strings.
One thing I found necessary was a helper function to dump the raw SQL with variables interpolated where placeholders would be, so I can copy/paste the resulting query into my database client during dump&die debugging. Since prepared statements aren't always compiled to SQL before being sent to the db server (if it supports prepared statements then the SQL and params are sent separately), I had to parse the output of PDOStatement::debugDumpParams to compile the SQL string with interpolated params, but it's been very helpful for debugging to be able to copy/paste right into dbeaver to inspect the results.
Well, i don't know how it's going right now, since i wasn't used it in pas half year, but from my experience it was running very well. MySQL workbench was very slow which was the main reason to switch. There is also a https://dbeaver.io/ but it wasn't as good as these two.
Wow, Sequeler looks like exactly what I've been looking for. I'll give it a go tomorrow morning and let you know how I get on. If there any issues I'll see if I can coax it into life.
If you're in a push and need a client right now though, I've been using DBeaver lately. It's straightforward to get running, and seems to work OK - it is rather slow and cumbersome though, as I think its roots are in Eclipse. Alas, if you're in urgent need of a DB GUI Client, then it's worth a go.
Eclipse no es un "editor de texto". Es (en primer lugar) una IDE.
Ese concepto sí necesitás entenderlo.
Eclipse se usa principalmente para programar en Java (aunque puede usarse para programar en otros lenguajes; y es muy extensible, hay muchos programas que no son propiamente IDEs, por ej Dbveaer, que son como un Eclipse tuneado).
Hoy día va perdiendo relevancia como IDE, su comunidad no tiene buena salud.
Hoy se prefiere Vs Code o Intellij.
Todo suma puntos, por supuesto, pero no es muy relevante.
In addition to what Matt said, for personal projects with shoestring budget you can consider https://dbeaver.io/ since datagrip requires subscription.
DBeaver provides a GUI and it supports a bunch of backends, not just postgres - i like it for handy way to peek into sqlite
> ...Does somebody has any tips for an ERD software, which is open source...
DBeaver is a free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases.
It's very much able to create ER diagrams, automatically and I guess manually too (though I only used it to create ERD from an existing DB).
I think appimages can be launched without any problem on most distros nowadays.
According to what i've seen on google's website, i think you can use google earth pro on fedora kde and opensuse.
As for xanmod, type in a terminal on opensuse tumbleweed: sudo zypper install opi. Then opi xanmod.
Anydesk has support for most linux distros. Even though they don't say tumbleweed, i'm pretty sure you can install it as i installed brave sucessfully even though the instructions said it required leap.
Angry ip scanner can also be used.
Dbeaver can be installed from here: https://dbeaver.io/download/
About jellyfish, it can be installed from flathub.
Wraithmaster can be used i think.
Hope you found this helpful!
MySQl, Postgresql, SQLite are all free. If you just want to practice SQL, SQLite is a good option because it doesn't need to run on a server and creating a database is literally as simple as specifying a path to where you want the database file to be created.
As for IDEs, DBeaver is excellent, and has a free community edition.
Another option, but isn't SSMS, is DBeaver. I needed this to work on a DB from another vendor and then discovered it can connect to MSSQL. It has some neat, configurable SQL formatting (CTRL+SHIFT+F).
Develop a way to remove the columns from the file from the CSV before it reaches access. Either through file level vba or some other program. You'll need to make the dataset smaller at the file level.
My advice is don't use access to manipulate massive datasets. It can't handle it very well and I don't know what the 64bit limit is, but the 32bit version would stop after 2gb of data had filled it's temp tables. So if you load in 1gb that only gives you 1gb left to do join work.
Personally, my recommendation is to use a real database server, like the open source MariaDB. You would also need to use a DBMS to allow you to easily see the tables and run sql against it to manipulate the data, so use something like dbeaver. If you need to do something programmatic to manipulate the data, use python and connect it/your app to mariadb.
I know this isn't really the advice you want to hear, you're prolly thinking about how you really just need to figure out how to do it in access. I am not saying you can't maybe there is some crazy magic out there. But I did this (access) for 10 years in a corporate environment and let me just tell you that you can easily waste a lot of time trying to work with large datasets in access. Even assuming you get them imported you might not have much space left to query them.
Are you after a pure text editor, or something to write and pass through SQL to an RDBMS?
If it's the former, then vim (or to avoid starting a flame war, emacs), textmate, or any of the literally hundreds of others out there (which one suits is really dependent on what you want to do - I have 3 installed on my mac, and will pick which one I open a file with dependent on the task).
For the latter, I quite like dbeaver.
> I keep feeling that my SQL skills just aren’t good enough to move on?
How far are your skills? What can you do? Create tables, insert data, create complex queries, etc? What's the most complex query you've made (you can post pseudocode).
On the other hand: Sometimes you just hit a wall where you don't know how to continue. I usually just pick up something else and let the things that I've just learned just sink in for a month or three. When I then come back (to SQL), I can then more easily recognize the things I don't know and thus find more info to learn them.
Does that make sense? It's OK to temporarily stop learning thing A, so you can let things sink in and focus on thing B, only to come back at a later time.
> Has anyone been in this position?
Definitely, yes. For context: I'm a Junior data engineer that's a Software Engineer by education.
PS: Do you also use something to query just MySQL? Something like DBeaver? If so, then creating a connection should already be familiar to you - should make it easier to start in Python :)
12 months ago I barely used databases at all. Now I built a large data platform using Postgres, as the lead engineer so all DBMS was on my plate with no senior above me to consult.
I strongly recommend DBeaver (free community version is great) as a GUI to interact with your database. I used many alternatives and its shocking how poor they are in comparison.
Recommend using Postgres version 13 or later, as it allows you to run a lot of non-blocking background jobs like REINDEX.
Besides that you should learn more about your data and your requirements. I like to start with defining what specific data is expected by the end user and work backwards by answering what data is needed to deliver that (Usually not all data in the db is presented at the end)
Some databases allow you to generate the DDL and you can pop it in other tools. One I like isdbdiagram.
Some RDMS have them built into their own tools like SSMS does for MSSQL. Or you can purchase other tools that can do similar actions once you get the connection string.
Now this assumes they have Foreign Keys constraints vs artificial ones to visualize the relationships.
A free option I like is dbeaver . Or a paid option like DataGrip.
Hope that helps!
What is the ISO link you are using?
Is there win 10 arm build too. I think that should be a bit faster than win 11.
Also, I read somewhere that win 10 arm cannot emulate x64 apps only x86 apps is that the case. e.g. Dbeaver.io requires x64 based windows.
Hey, do you want to share the link to the tutorial you're following? That way we can see what you've done so far and help with specific steps.
But essentially you need to connect to your database to run those queries. psql is the name of the terminal that PostgresQL provides to let you interact with your database. If you installed your database locally, you should be able to type psql
into your command line and you will connect to the database cluster, specifically the postgres
database within that cluster. Please note this kind of depends how you set it up so again, share your tutorial :)
psql
has quite a few flags, so you can specify host urls, what username to use, the specific database in your cluster if you've made one other than postgres
.
If you find the terminal difficult to use there are GUIs like DBeaver and pgAdmin that you can try too.
Add dbeaver apt repository using this script:
curl -fsSLo dbeaver-archive-keyring.gpg https://dbeaver.io/debs/dbeaver.gpg.key
sudo gpg --dearmor --output /usr/share/keyrings/dbeaver-archive-keyring.gpg dbeaver-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/dbeaver-archive-keyring.gpg] https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list
then add preference control file containing the text below. Save the file in /etc/apt/preferences.d
Package: *
Pin: origin "dbeaver.io"
Pin-Priority: 1002
Ah, I see.
What I suggest you try:
to go to a public school, and ask for the more gifted students who are good with computers, to show you how to get going with Python+Jupyter
People can help around in /r/python if necessary, as well as here. Basically Jupyter Notebook is made for this - loading data, filtering, showing a few tables, pivoting, drawing charts.
That school kid will have an opportunity to gain some valuable experience at a young age, working for the public sector, you will advance in newer technology, and maybe even that kid will earn some money that will make it worth his while.
I suggest you keep the data in CSV format. Excel can read CSV (and so can LibreOffice, even better), Python can read CSV, and both can write CSV, and you can even open CSV in a notepad and still make sense of it.
This what you're doing, should also work pretty well in Excel.
If you really want to learn a database, then go for SQLite. It's modern, it's tiny, it's super simple, but you need a Graphical User Interface for it probably. You can try out DBeaver for that.
Right. Try DBeaver, and from there add a new SQLite database. See if that's enough for you. Come back with concrete "How to" questions here.
If you just need a client to connect to an external SQL Server instance, check out Azure Data Studio.
Sticking to the theme of JetBrains products, take a look at DataGrip.
One last one, it's FOSS: DBeaver
> phpMyAdmin
Off-topic, but if you might be interested in something a bit more ergonomic, I'd recommend either:
The problem is probably due to the configuration of the database and not to MySQL Workbench. For example, https://stackoverflow.com/questions/17975120/access-denied-for-user-rootlocalhost-using-password-yes-no-privileges.
However, MySQL Workbench does not fully support MariaDB. As an alternative, you can have a look at DBeaver.
I use MS SqlServerManagementstudio every day in my work but it only works with Sql Server.
Due to a recent change, I have to work with other databases now. DBeaver has an excellent query tool that works with a whole variety of databases. And it has neat things like generating sql statements and importing data from CSV files. I’ve only used it for a few days but I very pleased. Dbeaver.io community edition is free
just yesterday, before I discovered the import from csv I generated a huge insert values statement (SQLite). Some 18k rows
insert into sometable (col1, col2,...)
values(1, ‘a’...),
(2, ‘b’...)
all went through in one pass. With SSMS, I would have had break it up into <1000 values () per insert
Eclipse RCP. Take a look at DBeaver to see what’s possible out of the box. Tutorial
Go to the dbeaver website.
Download the Linux Debian Package.https://dbeaver.io/download/
Installl gdebi
RIGHT click on the download and choose "Install with Gdebi"
Found it (luckily I had saved the text, as the tvdbforums seem to have nuked the thread for whatever reason)
1) Download and install Dbeaver - https://dbeaver.io/download/
2) Within DBeaver, set up a "New Database Connection" (in my case it was a MariaDB connection, I filled in my Server Host which is my Unraid server @192.168.0.2, provide root access credentials if required, test and save the connection.
3) Once connected then to your SQL Database, click on SQL Editor/New SQL Editor
4) In the pane that opens on the right hand side, paste in the following command: ALTER TABLE MyVideos116.tvshow MODIFY COLUMN c06 mediumtext DEFAULT NULL NULL;
5) Execute the pasted statement by using control + enter (or click the little orange arrow beside your pasted command). That's the database change made
6) Within Kodi, I had to fully refresh the affected source (TV in my case). I did this by viewing the available sources, hitting "change content" on my TV source. I then set it to use TV Maze instead of TVDB. I then clicked ok, and chose "no" when Kodi asked if I'd like to do a library refresh. I then repeated these steps, but changed the source back to using TVDB instead of TV Maze...and then clicked "yes" when Kodi asked about a library refresh - voila, that should be it, everything should scrape now.
If you are accessing multiple RDBMS systems, then use a tool that can connect to many different database engines. Personally I think the free tool dBeaver is great.
Thanks bud... Few things:
If you want to tag someone on reddit, you use /u/{username} like this: /u/pantshirtshoes
DBeaver has nice dark themes and other colorings. Try seeing what you like. Code coloring means things so find the theme that you enjoy looking at. :)
As for your problem, I cant reproduce it. I walked through all my settings. I dicked around for over an hour here and I'm stumped. You might try asking on https://dbeaver.io/ as the developer and folks can sound off.
Posted on 2020-07-05 by Serge
I've contemplated this and updated my DB from 1.10 to 1.11, although that was a rather trivial change as it only involved updating some fixed values, not the schema.
For a direct comparison, you can use the command line utilities provided by sqlite (look for the sqlite-tools download), sqldiff (documentation) allows for direct comparison of two databases in both content and schema, with the -schema parameter. The output is an sql script you can immediately apply if you want to, using sqlite3.exe in the same download. This way you can automate the process and can avoid having to manually transfer values. This all requires basic familiarity with SQL and the command line.
Figuring out what the interesting changes between versions are can be difficult, especially if the provided demo DBs aren't on the same turn of the same game. You may want to create a minimal new game in the old and the new version to compare all data in each DB for changes you need to apply to the DB you want to migrate. Anything in tables prefixed DIM_ will be particularly interesting here. To figure out what you want to migrate there may be no way around familiarizing yourself with Aurora's DB structure using a DBMS like sqlitebrowser or dbeaver.
Keep in mind that even if you faithfully reproduce every DB change between versions in your own DB the game data that is in it may now be in an illegal format as the way the game processes something has changed. There may be no indication for this in the demo DB that comes with a release.
Posted on 2020-04-05 by Serge
Posted on 2020-03-22 by Serge
Use a sqlite front-end and use it to import the csv as a table in a database and view it from there. Usually they don't mess with the data formats when you import, you can even sort and filter, and a 37mb file is easy peasy and quick to load.
Not sure what platform you're on, but SQLiteStudio, DB Browser for SQLite, and DBeaver are my 3 favorite, and as far as I know the work on Mac and Windows.
Posted on 2020-02-02 by Serge
Posted on 2020-01-19 by Serge
Posted on 2020-01-05 by Serge
Posted on 2019-12-01 by Serge
I personally like DBeaver (https://dbeaver.io/).
To get the db file from the Android emulator you can use Android Studio’s device explorer (https://developer.android.com/studio/debug/device-file-explorer).
I actually find SQLite a bit less straightforward to setup and configure. Some people may prefer consoles, but I do not. Especially for reading formatted text, like the kind returned from a SQL query.
In any case, here is how you would do that:
Read the Quick Start:
https://www.sqlite.org/quickstart.html
Download and extract the binaries for your OS:
https://www.sqlite.org/download.html
Possibly also install an IDE like DBeaver to work with SQLite:
Without the IDE you will quickly be learning many DDL statements that you may or may not want to get into right from the start. But don't let me stop you if that's where you want to go.
Posted on 2019-11-03 by Serge
Posted on 2019-10-21 by Serge
Posted on 2019-09-22 by Serge
Release notes:
you can do a lot with SQLAlchemy but you still really need to understand and know SQL because you'll always end up writing more advanced raw SQL queries, views etc.
my own opinion is Python + SQLAlchemy + Postgresql and learning addons like PostGIS and TimescaleDB
Develop and run your SQL using a frontend like DBeaver and help deployment and install by running Docker
We've got a similar situation at work, with mostly Oracle databases which we're gradually moving to PG.
I'd second /u/geocompR 's mention of psql
. There's a lot you can do there to introspect your database and automate many things, especially once you learn a bit about the system catalogue tables. It's definitely worth becoming familiar with if you're going to be using PostgreSQL.
SQL Developer is ok for Oracle but it's support for other databases is mixed. I've tried using the PostgreSQL JDBC drivers with it but it doesn't add up to much more than the ability to type SQL and get a table of results. And I've always found SQL Developer to be incredibly bloated as well. So instead, for cross-database use I'd recommend DBeaver.
The old pgAdmin 3 was usable, and you can still get a "LTS" version that's occasionally upgraded to support current server versions. But the original maintainers are now working on pgAdmin 4, which is very different. I haven't used pgAdmin 4 in about a year; back then, it was still missing a few things that I liked from the old version.
PgAdmin 4 is the future, so it's worth trying. You might find it best for your needs.
Try DBeaver https://dbeaver.io very good cross platform, multi DB, open source, free IDE.
SQLite’s Propriety Encryption (by Dr. Hipp) https://www.sqlite.org/see/doc/release/www/index.wiki
There are some other open source SQLite encryption libraries in Github.
Try dbeaver instead. Can do cell based filtering, is cross platform, fast, can work with SQLite or most any other database, free, well maintained, and polished.
It is a hidden gem.
You should be able to use Azure Data Studio. Which is free and cross platform. It doesn't have nearly as many features as SSMS though.
I also hear good things about DB Beave