Some time ago I mentioned here, in half-joking way, self-fixing software I work with. I said Patroni #Postgres has the best regeneration ability I've ever seen. And currently "the best ability" includes:
> After network migrations servers changed IP addresses. It broke etcd config so I had to completely delete that config and initialize etcd cluster again. Which also forced cleaning and renewing Patroni config because it is strongly dependent on etcd. Even when configuration temporarily didn't exist, connection with WAL archives (technically other separate server) wasn't interrupted (I am not even sure if real data transfer could happen at that time). It was seemingly enough to start new #database cluster from last timeline. I don't know WHAT forced servers to immediately pull that data on fresh start. At migration time there weren't any real production data so I didn't even purposely try to restore anything.
> Not so long time later (and now with real production things) some script tests, causing lots of database changes in relatively short time, beyond former server's capacity, killed master server. Patroni switched as intended and I could work on increasing server's capacity (had to do it live, not very convenient). First server finally decided data corruption was too big and to fix it automatically deleted whole /var/lib/postgresql/* directory and started to recreate thing from scratch, using data from new master server (and was doing it with at least 2 GB/s speed because why not? ).
> During above mentioned process impatient tester hit again with their not optimised scripts, finally killing whole cluster. Swearing silently I increased remaining servers as it was only thing I really could do. Postgresql API mostly wasn't responsive, it had limited info about last state before final failure. It wasn't possible to force any change or affect it in any way.
First server decided to delete whole directory again and recreate it (at least this time I saw exact moment in logs), at the same time second server did rewind to state of third server (why??). All these things happened automatically, without my help. I wouldn't even know what to do
And it's only beginning when we use it on production. Now I wait for stubborn users to do some more unintended durability tests... Maybe I would see it's even more invincible
OpenVertebrate Presents a Database of 13,000 3D Scans of Specimens
What do you call MongoDB in a terminal?
**tongo** — A TUI for navigating and manipulating MongoDB.
Supports fuzzy search, multiple sessions, customizations & more!
Written in Rust & built with @ratatui_rs
Do you, like me, LOVE SQL??
I'm not kidding.
Check out the SQL murder mystery!
It's a fun way to exercise your SQL skills.
https://mystery.knightlab.com/
NO SPOILERS - yes, I know who did it.
Bless your transactions by committing them with "amen" in @mariadb
https://mariadb.org/amen-statement-for-committing-transactions/
Ever wondered how to compute a function across multiple parties without revealing their inputs?
This technique can be used to split secrets among parties, perform logical operations, or count votes in a way that ensures data privacy is preserved.
Read the #InfoQ article to learn more: https://bit.ly/4cx8sAV
Introducing: Prairie Postgres, a 501(c)(3) nonprofit organization chartered in Illinois, the Prairie State, serving the Midwestern United States!
We are devoted to training, professional development, and networking opportunities for technical practitioners and researchers.
For more information, check out our website: https://prairiepostgres.org
Hans-Juergen Schoenig: PostgreSQL: 1 trillion rows in Citus
Troubleshooting DB2 REORG in Compound SQL Statements: Why Does It Fail?
Troubleshooting DB2 REORG compound statements. Learn the difference between compiled and inlined compound SQL blocks in DB2 LUW to avoid errors and optimize database reorganization. Key takeaways include best practices, error handling, and performance considerations. #DB2 #REORG #SQL #Database #Troubleshooting #Performance
https://tech-champion.com/programming/troubleshooting-db2-reorg-in-compound-sql-statements-why-doe...
How to Overcome the Listagg Limit of 4000 Characters
Overcome the LISTAGG limit in SQL for large datasets! Strategies like chunking and recursive CTEs help manage massive concatenated strings. Learn practical solutions for efficient SQL queries. #SQL #LISTAGG #StringConcatenation #Database #SQLQueries #LargeDatasets
https://tech-champion.com/database/how-to-overcome-the-listagg-limit-of-4000-characters/
...
How to Find the Exact Count of Records in All Persistent Tables in a Database?
Finding accurate Total persistent table records in DB2 LUW can be tricky. Standard methods aren't always precise, especially in high-transaction environments. Learn alternative, efficient techniques to get accurate counts. #DB2LUW #SQL #Database #Performance #RecordCounts #TableCounts
https://tech-champion.com/programming/how-to-find-the-exact-count-of-records-in-all-persistent-tables-in-a-database/
...
DB2 for i Date Comparison: A Guide to Efficient Date Handling
Master DB2 for i Date Comparison! Learn efficient techniques for accurate & reliable date handling in your DB2 applications. Improve query efficiency & avoid common pitfalls. #DB2 #DateComparison #Database #SQL #Programming #iSeries
https://tech-champion.com/database/db2luw/db2-for-i-date-comparison-a-guide-to-efficient-date-handling/
...