You can also combine this with TRAMP to work on databases you can't directly access from your local machine. E.g.:
#+header: :dir /ssh:user@remote-host:/
#+begin_src sql
..
#+end_src
My “Poor Man’s SQL Workbench” trick is to…
Use org-babel to execute the queries, from my “sql-queries.org” file.
Overwrite results into a /tmp file, also an org-mode file, with latest query results (call it anything — “query-result.org”).
Make psql spit out org-formatted tables for extra oomph.
Keep that results file open in another buffer (or frame on a big screen, if the table is wide).
Let Emacs auto-refresh the buffer, when it detects the file has changed.
Et voila! L’établi SQL du pauvre.Screenshot + sample code in the gist below (a `.org` file, as befits this topic :)
https://gist.github.com/adityaathalye/a6004acd34c683bcc806b2...
I used Org Mode for all mandatory assignments [0] when I was a student, it worked super well and I could create well formatted LaTeX documents/PDFs from it as well. The supervisors were very impressed that I did my assignment in LaTeX, and I could never be bothered to correct them :-)
[0]: https://gist.github.com/sondr3/ae4eda2816cfeda7b8597ce1c48d0..., best viewed as the raw file for all the details
You can also set a `.pgpass` in your `$HOME` or point another path to a `PGPASSFILE` envar, so postgresql credentials don't leak to main org file.
I used a similar setup a long while ago and wanted a way to connect to databases easily. So I wrote some code to parse the MySQL and Postres config files to extract database info in Emacs: https://stackoverflow.com/a/46114944
Emacs with databases without org would be interessing. I now there is sql-mode which supposedly works to connect with an inferior process but a tuorial about that would be nice
[dead]
[dead]
Slight off-topic, but getting organized was a lifelong struggle for me (I was the person who had a five-foot high stack of unorganized papers and crap in their locker in middle and high school), and org-mode is the only system that broke me out of that cycle. It has genuinely changed my life. It's not for everyone, but if you've been unsatisfied with everything else and keep jumping from system to system, it's worth a try. (Especially now that you can get Claude to just explain the basics of Emacs configuration to you, which wasn't the case when I started.)