GSM @turnstep.bsky.social · 52mFascinating article about database hints by @vik.thegresqlpost.org thegresqlpost.org/articles/a-h... #postgresthegresqlpost.orgA Hint of DependenceWhy execution instructions do not belong in SQL, and what the planner needs instead. 000
GSM @turnstep.bsky.social · 13/09/2026Interesting discussions about increasing the frequency of Postgres releases. Looks like we will end up somewhere more frequently than quarterly and less often than monthly. #postgres 101
GSM @turnstep.bsky.social · 13/09/2026This was so much fun to read: www.snowflake.com/en/blog/engi... #postgres #postgresqlsnowflake.com30 Years of Postgres Architecture: Tom Lane InterviewExplore 30 years of Postgres architecture with core committer Tom Lane. Learn about process isolation, MVCC, write-ahead logging, and threads. 020
GSM @turnstep.bsky.social · 06/07/2026I wanted to read this: pduzc.com/blog/postgre... but it's a blank page with javascript disabled (a good idea on unknown sites) and with enabled, the color and text contrast makes it near impossible to read. Maybe dark mode interactions?pduzc.comPDU - PostgreSQL Data UnloaderProfessional PostgreSQL data recovery tool for corrupted databases 200
GSM @turnstep.bsky.social · 06/07/2026Cool article about Postgres checksums: www.pgedge.com/blog/looking... #postgres Two issues: no mention of pg_backrest, which leverages checksums. Interrupted checksum enablings do NOT have to start from the beginning.pgedge.comLooking Forward to Postgres 19: Checksums For AllData checksums protect against silent hardware corruption... but enabling them always required taking Postgres offline. Postgres 19 fixes that once and for all. Shaun Thomas discusses it in the latest... 130
GSM @turnstep.bsky.social · 28/06/2026Nice to see some pushback about Postgres checkpoint_timeout. The default is way too low! mydbanotebook.org/posts/stop-p... #postgresmydbanotebook.orgStop Punishing Your Postgres for a Crash That Won't Happen | My DBA NotebookThere is a misconception I keep running into, and it causes real harm in production. People are afraid to increase checkpoint_timeout. They think a longer timeout means a longer recovery after a crash... 100
GSM @turnstep.bsky.social · 26/02/2026Updated bucardo.org/postgres_all... - the all-in-one-page release notes. We just hit 555 versions of Postgres tracked! #postgres #postgresqlbucardo.orgPostgres Release Notes - All Versions 010
GSM @turnstep.bsky.social · 10/12/2025Heh, almost every first attempt at solving Advent of Code puzzles with Postgres leads to "ERROR: integer out of range". Poor little int4, just not up to the job! #postgres #postgresql #adventofcode 010
GSM @turnstep.bsky.social · 15/11/2025It's not just Postgres. Nulls are weird and full of edge cases no matter what RDBMS you use. #postgres #postgresql 040
GSM @turnstep.bsky.social · 23/10/2025Nice post about AI suggesting "improvements" for a Postgrs table schema. But the part that made me LOL was the human comment starting with "Hopefully" :) stokerpostgresql.blogspot.com/2025/10/load... #postgres #postgresqlstokerpostgresql.blogspot.comLoading The Titanic Passenger Data Into PostgreSQL With DBeaver Part 2 000
GSM @turnstep.bsky.social · 07/10/2025Oh for Pete's sake, now there are some on the Postgres lists advocating *raising* random_page_cost default - by a lot! Crazy times. #postgres #postgresql 000
GSM @turnstep.bsky.social · 05/10/2025Working on some v19 features and managed to break my test Postgres instance worst than I ever have before. Every single SQL command causes the backend to crash. To be fair, I'm messing with the parser, but it's still a little jarring. :) #postgres #postgresql 120
GSM @turnstep.bsky.social · 08/09/2025Been working with a database that defaults to UPPERCASE for unquoted things, and wow, is that annoying after all these decades of calm, non-yelling lowercase Postgres code. :) #postgres #postgresql 020
GSM @turnstep.bsky.social · 03/09/2025Wondering if I should bother trying to raise the default track_activity_query_size in Postgres. It's been 1kb for a long time, and that seems too small for today's verbose apps, complex queries, and ORMs. #postgres 000
GSM @turnstep.bsky.social · 01/09/2025Inspired by a Slack discussion, here's how to tell how many of today's 86,400 seconds have been used up already: select round(extract(epoch from now() - 'today'::date)); #postgres 020
GSM @turnstep.bsky.social · 22/08/2025Awesome blog post on Postgres logging from my colleague @sqlliz.bsky.social www.crunchydata.com/blog/postgre... #postgres #postgresqlcrunchydata.comPostgres Logging for Performance Optimization | Crunchy Data BlogReview key logging configurations in Postgres plus how to log key performance metrics. 120
GSM @turnstep.bsky.social · 20/08/2025Use of domains came up on Postgres lists recently. I very seldom use them, always seems better to just use check constraints on a base type. Still more useful than enum however! #postgres #postgresql 010
GSM @turnstep.bsky.social · 14/08/2025Yikes. Another crappy blog written by LLM spotted and slammed: thebuild.com/blog/2025/08... I'm not convinced the comment replies are not LLM as well. #postgres #postgresqlthebuild.com Lies, Damn Lies, and LLM Output. 010
GSM @turnstep.bsky.social · 01/08/2025Getting down to the finish line - hope my "initdb checkpoints on by default" patch and its cousin "don't dump stats to pg_dump by default" both survive as is! #postgres #postgresql 000
GSM @turnstep.bsky.social · 30/07/2025Postgres tip of the day: you can chain psql -c calls: psql -c 'alter system set random_page_cost = 1.5' -c 'select pg_reload_conf()' Bonus: they run in the same session, so you can even use vars. #postgres #postgresql 172
GSM @turnstep.bsky.social · 30/07/2025Not happy with all the ads and pseudo-ads popping up on Planet Postgres... #postgres #postgresql 010
GSM @turnstep.bsky.social · 28/07/2025Amazing post on making Postgres slower (yes, slower!) on purpose. byteofdev.com/posts/making... #postgres #postgresql Favorite bit: "random_page_cost = 1e300" LOL! Well donebyteofdev.comMaking Postgres 42,000x slower because I am unemployedAs an respectable unemployed person must do, I tried to make Postgres as slow as possible 021
GSM @turnstep.bsky.social · 24/07/2025Great article at www.rudderstack.com/blog/scaling... about getting Postgres to scale. My only objection would be the lowering of checkpoint_timeout; better to rely on a failover replica than worry about WAL replay. #postgres #postgresqlrudderstack.comLessons from scaling PostgreSQL queues to 100K eventsThis post is a chronicle of the critical, hard-won lessons learned while maturing PostgreSQL into a highly performant and resilient queuing system. 010
GSM @turnstep.bsky.social · 22/07/2025Nice article about what exactly is the PGDG (Postgres Global Development Group). My sv is "anyone who directly (and knowingly) helps the project in any form". www.cybertec-postgresql.com/en/who-are-t... #postgres #postgresql #planetpgcybertec-postgresql.comWho are the PGDG?This article describes what the PGDG (PostgreSQL Global Development Group) is and how you can become a part of it. 041
GSM @turnstep.bsky.social · 19/07/2025Postgres making some more progress towards not supporting 32-bit stuff. Or at least making our code less painful to work with it. Even Raspberry Pi can do 64-bit these days! #postgres 160
GSM @turnstep.bsky.social · 15/07/2025Pro tip: use long args when sending example commands to someone; less likely they will get it wrong. psql -X vs. psql --no-psqlrc As a bonus, it's usually a lot more self-documenting as well. #postgres 130
GSM @turnstep.bsky.social · 13/07/2025Interesting thread on -hackers about Postgres resizing shared_buffers on the fly (smaller to larger only!). Looks quite feasible, I think it will make it into v19 #postgres 010
GSM @turnstep.bsky.social · 10/07/2025"While the Postgres community has an older and sometimes daunting contribution process of submitting patches to a mailing list..." (from clickhouse.com/blog/sigterm...). Okay, guilty as charged. :) #postgres 010
GSM @turnstep.bsky.social · 10/07/2025Love this post about active-active Postgres replication and reasons not to do it: percona.community/blog/2025/07... The best one is #4 (because other systems did it). If I had a nickle for every time I heard "but Oracle...." #postgres #postgresql 020
GSM @turnstep.bsky.social · 05/07/2025Fascinating discussion about Postgres and the use custom/generic plans (if you have been to my training, you know about this and the magic number 5). danolivo.substack.com/p/on-postgre... #postgres #postgresql #planetpg 021
GSM @turnstep.bsky.social · 02/07/2025This is a good post about UUIDs in Postgres at andyatkinson.com/constraint-d... but the name is too long - "Avoid UUID Version 4 Primary Keys" can really be shortened to "Avoid UUID" :) #postgres #postgresql 110
GSM @turnstep.bsky.social · 30/06/2025Good Postgres post on how often the optimizer is "correct": vondra.me/posts/how-of... #postgres #postgresql #planetpg Key qyote: "There’s also the question of the cost model itself, which is a very rough approximation of the hardware behavior" - I'm looking at you again, random_page_cost!!!vondra.me 010
GSM @turnstep.bsky.social · 25/06/2025Woah - did not expect to see vectors in the (still future) SQL standard, but there it is: peter.eisentraut.org/blog/2025/06... #postgres #planetpg #postgresql 000
GSM @turnstep.bsky.social · 24/06/2025Cannot resist reposting this: devclass.com/2025/06/24/s... #postgres #postgresql 000
GSM @turnstep.bsky.social · 22/06/2025Nice article on SELECT FOR UPDATE in Postgres at www.cybertec-postgresql.com/en/select-fo.... I take issue that plain FOR UPDATE is "harmful" or "wrong", but I get the point about only taking the locks you actually need. Would be nice if NO KEY UPDATE was default. #postgres #planetpg #postgresql 130
GSM @turnstep.bsky.social · 21/06/2025I know pg_hba.conf is ugly, but compared to mysql's auth system, it works very well indeed. #postgres 020
GSM @turnstep.bsky.social · 20/06/2025As the author of one of the earlier multi-master systems, posts like percona.community/blog/2025/06... are always interesting to me. #postgres #postgresql My take: it is not needed 99.99% of the time, despite what people insist. 040
GSM @turnstep.bsky.social · 18/06/2025Ugh, that -hackers thread in which RHEL8 keeps getting labelled as an "old OS". It ain't dead yet! #postgres #rhel 000
GSM @turnstep.bsky.social · 17/06/2025Nice article about pg_upgrade finally preserving statistics in Postgres: www.cybertec-postgresql.com/en/preserve-... Parts of this were quite contentious. Hopefully, v18 lands with sensible defaults. #postgres #postgresqlcybertec-postgresql.comPreserve optimizer statistics during major upgrades with PostgreSQL v18This article highlights the new PostgreSQL v18 feature for keeping the optimizer statistics during a major upgrade. 020
GSM @turnstep.bsky.social · 17/06/2025www.caktusgroup.com/blog/2025/06... tl;dr don't use Django. j/k just be careful with it. #postgres #postgresqlcaktusgroup.comAvoiding Timezone Traps: Correctly Extracting Date/Time Subfields in Django with PostgreSQL | Caktus GroupLearn to avoid a common timezone pitfall in Django and PostgreSQL. See why using EXTRACT with AT TIME ZONE on a date type can lead to incorrect results and how session timezones can unexpectedly shift... 020
GSM @turnstep.bsky.social · 14/06/2025Random idea: make psql smart enough to give feedback for long-running queries like CREATE INDEX as we have pg_stat_progress* #postgres #postgresql 020
GSM @turnstep.bsky.social · 13/06/2025postgres-contrib.org/post/44/ #postgres #postgresqlpostgres-contrib.orgContributions for the week of 2025-06-02 (Week 23)Contributions for the week of 2025-06-02 (Week 23) | PG Day France 2025 took place on June 3 and 4 in Mons, Belgium, organized by Leila Bakkali, Matt Cornillon, S… 010
GSM @turnstep.bsky.social · 10/06/2025Nice little post about arrays (which I love and hate in Postgres): www.cybertec-postgresql.com/en/using-reg... #postgres #postgresqlcybertec-postgresql.comUsing regular expressions and arrays in PostgreSQLLearn how to combine the usage of regular expressions and arrays in PostgreSQL into a more powerful technology through this blog post. 000
GSM @turnstep.bsky.social · 08/06/2025Well, it was certainly an interesting week for me in Postgres land! #postgres 120
GSM @turnstep.bsky.social · 30/05/2025tgl quote of the day "RLS is a performance killer" So true. Fast, secure, pick one. #postgres #postgresql 120
GSM @turnstep.bsky.social · 29/05/2025Made my craziest patch idea yet to -hackers today. #postgres #postgresql 200
GSM @turnstep.bsky.social · 28/05/2025Hilarious that sometimes Postgres has things like a "xact_start" column to save space rather than writing out "transaction_start" but then also has a column named "result_cast_numeric_precision_radix" and a function called "binary_upgrade_set_next_multirange_array_pg_type_oid" #postgres 110
GSM @turnstep.bsky.social · 28/05/2025Reminder: pg_last_xact_replay_timestamp() and similar are at the mercy of your primary actually making changes that generate WAL. Cron up something lightweight for low-activity times! #postgres #postgresql 000
GSM @turnstep.bsky.social · 27/05/2025Nice to see local Postgres meetups happening like this: hdombrovskaya.wordpress.com/2025/05/26/p... #postgres #postgresql #planetpghdombrovskaya.wordpress.comPrairie Postgres Developers SummitEven before the Community Summit in Montreal, I wanted to organize a Developers Summit at one of our meetups. My inspiration came from the Open spaces at DevOps Day Chicago. I saw how productive th… 020
GSM @turnstep.bsky.social · 23/05/2025Happy to report that statistics will NOT be dumped by default in Postgres 18. It will be the default for pg_upgrade, of course. #postgres #postgresql #battlewon 000