#postgresql

62 posts · Last used 2d

👋 Hi, Mastodon! This is SQLtest.online, a free SQL trainer that runs in your browser. • 480+ practice tasks with instant automatic checks • Real database engines: PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, Firebird, DuckDB • A step-by-step SQL course, a skills test and an interview simulator • No install, no paywall, open source Here we'll share new lessons, tasks and SQL tips. Questions welcome! https://sqltest.online #SQL #LearnSQL #PostgreSQL #MySQL #Database #Introduction
0
0
1
0
Always impressed by what PostgreSQL has built right into the core. 🐘 Needed an automatic checksum on rows and was already reaching for a trigger until I remembered / rediscovered 𝗚𝗲𝗻𝗲𝗿𝗮𝘁𝗲𝗱 𝗖𝗼𝗹𝘂𝗺𝗻𝘀. Clean, declarative, and zero trigger boilerplate needed: https://www.postgresql.org/docs/current/ddl-generated-columns.html #PostgreSQL
4
0
3
0
RE: https://mastodon.au/@xrobau/117300844625946496 Edit: We have figured it out, and are manually importing to a new temp table. --- Any #PostgreSQL exports around to help me out here? After a storage server crash, I've ended up with (at least one) table having corrupt time data in it. There is, apparently, no way to pg_dump and ignore errors, and \COPY also doesn't appear to continue-on-error. What I want to do is just get a list of the IDs of the rows with the corrupt time entries so I can either fix them, or just delete them. This is the 'status_stats' table from #MastodonNZ, and has about 70m rows. My current plan is that I've copied the schema of status_stats to status_stats_new, changing the time rows to just 'text' and I'm doing 'insert into status_stats_new select * from status_stats ON CONFLICT DO NOTHING;' then a left join to find missing ones. IS THERE A BETTER WAY? Halp!
Quoting
Sorry #MastodonNZ but there is a good chance I'm going to have to do a complete database dump and restore, as there's still some bits of corruption left over from the crash the other day. This is probably an hour or so outage. I'm actually not even totally sure that #PostgreSQL will even restart properly when I shut it down. More information will be in this thread (so you can look at it on #MastodonAU directly via the web interface.)
Open quoted post
6
10
10
0
Sorry #MastodonNZ but there is a good chance I'm going to have to do a complete database dump and restore, as there's still some bits of corruption left over from the crash the other day. This is probably an hour or so outage. I'm actually not even totally sure that #PostgreSQL will even restart properly when I shut it down. More information will be in this thread (so you can look at it on #MastodonAU directly via the web interface.)
22
7
4
2
Hello techhub.social! 👋 Time for an official #Introduction. I'm Truediff, a data and #Linux enthusiast who strongly believes in #DigitalSovereignty and #opensource Here is the real picture: -> Day Job: Business Analyst for payment ops and core banking. Just making complex financial systems play nicely together. -> The Tech: Not a dev, but a tinkerer. I rely on trial-and-error, tutorials, and AI-assisted (not AI-dependent) learning to build my setups. -> The Passion: #MMORPGs and RPGs. Gaming is the lens for my tech projects. -> The Projects: My #Python ETL pipelines, #PostgreSQL databases, and #SelfHosted infra all exist to build analytics for the game economies I love. Follow along if game data, open-source tinkering, and tech rabbit holes are your thing!
6
1
6
0
Sorry about that long-ish outage, but we were YET AGAIN getting smashed by AI bots. I have given up fighting them, and I'm just scaling up until #mastodonAU can handle the load. This time the #PostgreSQL database was running at a load of 100+ because it was disk IO bound. I did *try* to live migrate it, but it was just insanely slow so I made the call to shut it down (hence the 'Something went wrong' errors) and move it offline. It's moved. Now it's running on a pure SSD-only backing store, which hopefully will handle everything the #AI scrapers throw at us. I'll be doing the same thing with #MastodonNZ too, shortly (but hopefully without the outage, as that's a much more lightweight instance) I also really need to fix the status page that comes up when mau is down.
23
11
11
0

Upgraded the Mastodon backend postgresql server from 14 to 18 with pgautoupgrade. Found out that I had some uniqueness violations (possibly due to collation changes) that needed some manual DB operations to merge accounts and remove duplicate entries before I could run tootctl maintenance fix-duplicates. Then used pg_repack to remove bloat and finally used REINDEX to fix the last bits.

Everything's fresh and smooth again!

#MastoAdmins #PgAutoUpgrade #PgRepack #postgresql #postgres

3
6
1
0
It has been a while since I wrote a proper long guide about something I actually love doing. In September 2025 I wrote up how to run Mastodon on Kubernetes. That blog is gone, the guide survives only in the Web Archive. A text about backups that exists as somebody else's copy. At least it stayed on topic. So I rewrote all of it against Mastodon 4.6. The part I got wrong the first time was the most important one: Postgres as a Deployment with a PVC next to it. Kubernetes sends SIGTERM, Postgres reads that as a smart shutdown and waits for every client to disconnect. Sidekiq never does. Thirty seconds later, SIGKILL and a crash recovery. CloudNativePG and continuous WAL archiving now, RPO down from 24 hours to minutes. Still no Helm, everything by hand, because I want to understand what runs. My own instance came off Kubernetes in March, purely on cost. This is the config as it last ran. https://www.dol.ch/en/blog/mastodon-4-6-kubernetes?=s1 #Kubernetes #PostgreSQL #CloudNativePG #SelfHosting #DevOps #Mastodon #Blog #Fediverse
3
1
6
0