It’s a wrap. Melanie Plageman & Jonathan Katz just finished the closing remarks (with a big thank you 🙏 to all the sponsors organizers speakers volunteers & all the attendees) And now the last coffee break ☕️ is happening! What a great week 🔥
#postgresql#PGConfdev
So much fun 🎉 talking to #PostgreSQL contributors & @AzureDBPostgres teammates to write this post ✍️ & share highlights of last 8 months of Postgres work at Microsoft!
🙏 Postgres friend who inspired me to write it = @robtreat2
I ❤️ all the work this infographic represents
@jer_s@fujii_masao Think you’ve answered this yourself elsewhere but a generic plan is created once and executed multiple times. Yes, the planner will lock all partitions when creating it. Ideally each subsequent execution should only lock partitions that are scanned, but that’s not the case today.
@jer_s@fujii_masao Generic plans *can* do partition elimination (thanks to the runtime pruning feature), but it’s not smart enough avoid locking eliminated partitions. Something we’re trying to address in the long running:
https://t.co/RmmFXJKoSo
You’re right about the plan_cache_mode override.
If you're thinking of upgrading to PostgreSQL 16, I wrote this blog to help explain (with examples) what's changed since PG15 in the query planner/optimizer
@gwenshap@robertmhaas Thanks. Though I'm hardly the only one to blame, :). As Robert said, committers tend to polish submissions before pushing into the tree and that's especially been true with partitioning code because of the need to integrate into query pipeline, a pretty readable codebase itself.
We put our first partitioned table into prod, so did a small write up on what it's like to use partitioning in Postgres nowadays.
Progress on this feature over 5 years is downright incredible. Managing a partitioned table is 90% as easy as a normal one.
https://t.co/mVBQq9HxYw