Changing Jobs

If you haven’t seen my LinkedIn post regarding my new job, you should check that out first. 

I started this week at Redgate Software as an Advocate. This isn’t just a new job for me, it’s a complete change in my day-to-day work. I’ve spent the last 20 years working in the DBA world. It’s a complete change to come to a position where my first few days were not spent discovering which Databases the company has and where they were located, not trying to figure out whether Backups were being done on the systems or what performance problems they had. 

It’s a BIG change for me.  The idea of not being on call, dealing with incidents, or simply being a member of the Engineering department is a foreign concept to me.  

The good news is that it’s VERY exciting!  Change is a tricky thing, but one that we need to embrace.  

I’m a firm believer that to find happiness, you need to find challenge and change.  

It also helps that my biggest passion has always been the community and helping others.  

I’m pretty sure these are going to change.  But I like to set something I can measure at different points along the journey. I don’t have a problem failing at my goals as long as I learn something.  I intend to review these each quarter. So while they are listed as 2026 goals, I’m sure they will change as I move forward through the year. 

2026 Goals

  • PG SLC UserGroup needs to be restarted and running. Hold at least five meetings. 
  • SLC SQL Server UseGroup, Same as above, with at least five meetings. 
  • Host an AI event. 
  • 3 Events in Utah for Utah Geek Events this year. 
  • Speaking at 5 PG conferences this year. Hopefully more. 
  • Assist three conferences in the US to get started. Hopefully, using the new https://dayofdata.org/
  • Speaking at 10+ User group meetings, Virtual or in person. 
  • Create five new presentations.  Three are already in progress. 
  • Have fun

These goals are mine and don’t necessarily reflect the specific goals I will have with my employer. I think many of them will align, and I’m sure a lot of these items will overlap.  I also think I’m being a little conservative on the numbers here.

What can you expect next?  This blog will be changing. It will still have content on PG, SQL Server, and biking, but I intend to revamp its look and make it easier to find things.  I will also be posting at least weekly, so check back often and subscribe! 

Just Ride!

This post will not be technical, nor will it be related to any conference.  While that may seem like it’s not important, I think what I’ll talk about today is probably more important to a career than most of the technical things you will learn.  

About a year ago (May 2024), my son decided he needed a better way to get to work.  Walking, Bus rides, Lyft and bumming rides just wasn’t working well for him so we discussed going the bike route.  We found that RAD power bikes had a local shop, and I had seen them operating in Zion’s, which was a busy area, so we went to check them out.  

At this time, I had been struggling to get some exercise and was doing minor things like walking and stretching, but it wasn’t enough. I saw they had bikes “large enough for me” (for those that don’t know I’m 6’6” and 300+ lbs).  I figured, why not! 

Best decision I’ve made in a long time.  I had long-time friends who have wanted me to ride for years, so I decided it was time to let them know,  look, I did it!  Fast forward a year, I’ve now ridden just on my ebike over 3000 miles, I have a Surly Ogre as well that I’ve used as both a trainer and a bike.  I’ve logged about 1500 miles on that bike.  I participated in my first “ride”, in Moab in early May. It was supposed to be a 50-mile ride with 3000 vertical feet. I had a cold from traveling the week before, so I only made it about 30 miles.  It was a great learning experience and was amazing ride with friends!  

I typically commute about 3-4 times a week right now. My ride to work is about 17 miles one way. Takes me about 50 minutes currently to ride in.  I also plan to ride once a week with just my Ogre, which will be a little slower and more challenging.  

Great story, Pat. What’s the point of the post?  

The point is this. Get active and get out doing something!  If you are reading this, you probably live a computer life like me, you need to get out and do something to help your health and well-being. 

Don’t let anyone tell you an Ebike is not a real bike/workout. Do whatever you can and whatever drives you to do something.  I wanted to list the most important things I’ve learned in the last year. I hope this helps others to get started.  

  1. Friends make it all better!  I would not be anywhere on this journey if it were not for my friend Kris!  Kris had been riding for 100s of years, and not only was he a great bike mechanic, but he also pushed me and rode with me into the office. Many days I didn’t want to ride in (18F is very cold!), but I knew he was doing it as well.   Every activity is better when you have friends.  I would never have made it through Moab without Kirk (another amazing biker) keeping me going.  
  2. Just start! My first ride on my e-bike was 10 minutes long.  No joking.  My bike can take me 20+ miles, and my first ride was only about 1 mile.  I have to start things slowly. If you go out and start with a 1 hour ride, even if your legs/bike can do it your BUTT can not!  Go slow in anything you start.  
  3. Do your own thing!  If everyone tells you that’s not a real workout, that’s not exercise, “Did you even sweat?”.  You need to set your pace, you need to do what works for you. Seek out mentors and friends, but make sure they are supportive.  My biking friends never questioned me using an e-bike.  I was going it and making progress, and that’s all that mattered.  Find those people who believe in you. 
  4. Challenge yourself! We all have the voice in our head that says “Stay in bed”, “Eat the cake”, “Don’t sign up for a 50-mile race”.  You will NOT always win.  Matter of fact, you will lose more than you win.  Keep moving forward.  Learn from your failures.  I didn’t succeed at a 50-mile ride. But I went further than ever before, and preparing for the ride made me 100 times better.  I will succeed at a 50-mile ride in the future, I just have to fail a few more times.   

The last point I’ll make to this post is that you will find the 4 things I listed here also apply to work, software and in general life.  We all have the tools to do the hard things, we just need the discipline and the reasons to do those things.  Find the reason that will drive you!  

Hope to see you all on a trail or event soon! 

Pg conf India 2025 

Listed below is my summary for the sessions I attended at PG Conf India 2025.   I really appreciate the organizers, volunteers and sponsors that made this conference a success.  It was great to see friends and to meet new friends at the event.  I can’t say whether I’ll be able to attend next year but I hope so!   

Along with these sessions I had many good hallway track discussions.  Mostly around the things I was speaking on and helping others to network and meet people in the community. I was happy that many of the people in the community in India knew each other well. It’s good to see such a vibrant community of people!  

Conference Site:  https://pgconf.in/conferences/pgconfin2025

Full Schedule: https://pgconf.in/conferences/pgconfin2025/schedule/events

Keynote,  Peter Zaitsev from Percona 

Discussed Open Source and how far it’s come over the years.  

Key Takeaways 

  • Different Perspectives
  • Open Source is not enough for the users, Define your needs to better meet demand. 
  • Consider Vendor lock-in and what it means to you and your company. 
  • Moving Data is Expensive
    • Agree!
  • Best Technologies don’t always win.
    • Agreed! 

Understanding WAL Logging 

Youtube link: https://youtu.be/0EwUqQawwUU?si=x-HohmeNzACVO6Un

By Vigneshwaran C 

This was a good overall view of the Wal logging process.  I know this process well so I could easily follow along with the session.  

Key Takeaways

  • The background process picks up the buffer and flushes it to disk 
  • Checkpoint writes from the buffer to disk, flushes the buffer, and advances the position. 
  • Crashes uses the pg_ctrl file to redo the timeline and restore from a specific point. 
  • Good Questions in the Session 

Hacking PG Executor 

Youtube link: https://youtu.be/ywK08yHS2Mk?si=aJEEj4jok_uvthOa

By Amit Langote 

This was a good overview of how PG looked at the execution of queries. Breaking down how each of the different sections of the executor worked.  I liked the deep dive into the executor, I did feel it needed better example queries from real world examples.  The presenter suggested what is going to slow down performance, but didn’t relate it directly to real-world queries. He mentioned ways to fix it, but it was very low-level and needed something more to relate to everyday queries.  

Key Takeaways 

  • Cache misses stall executions,  Avoiding this is important. 
  • Branch Misprediction causes slowdowns, unpredictable branches. 
  • Reduce the mispredictions when you can 

Experimental approach towards Replication in Postgres 

Youtube link: https://youtu.be/rSB5-mWwar4?si=-V-90SkiS8Z8KOzW

By Balaji Venkat

I enjoyed the experimental nature of this presentation.  It brought up some great ideas of where PG should go with replication and how to make it much better in the future.  This was an Academic idea that the team is working on but it’s most likely a few years in the future before we will see something like this. 

Key TakeAways 

  • Multicast for Replication.  
  • Multicast can send once instead of many times. 
  • Multicast is less reliable but steps can be taken to handle the use cases for this. 
  • Full mesh is something possible for replication in the future with this idea.  

PostgreSQL 17’s Login Event Triggers: A Developer’s Toolkit for Enhanced Security

YouTube link: https://youtu.be/ml2H-Y5itXE?si=DY3pSA60lH4-wzaN

By Chethan G

This session talks about the new login event trigger for PG 17.  This might be the most dangerous new feature. The presenters did a good job of warning that misconfiguration and setup will prevent all logins to the server. So use cautiously. I can see some use cases for this related to audit but personally, the danger for this one is very, very high, and I would avoid it for most use cases. 

Key TakeAways

  • Be very careful using this. 
  • Fires when a user connects and runs whatever script you want. 
  • Per db setting, but enabled via cluster level.  
  • Fires after auth but before init 
  • To recover, you would need to use Single User Mode or keep a session active. 
  • Block on IP is a use case here, but I would suggest that you should do something outside the DB with a better tool designed for this.

PostgreSQL: Page Buffer Overview

YouTube link: https://youtu.be/2afOmYfqu-8?si=tpXZpN3l8wJqpCMp

By Harish Perumal 

This was a good session and an overview of the Page Buffer, talking about the structure inside it and how it’s used.  I enjoyed the session and would suggest watching the recording to get some more insights.  

Key Takeaways: 

  • Double buffer style,  PG Stores in the OS, and in PG Cache 
  • Portability across OS is important 
  • Review Effective Cache Size 

Lightning Talks 

I can’t list all the talks, but I did enjoy the talks.  

Key Takeaways: 

  • V18 PG is working on new plans with partitioning(exciting!)
  • Wordle with Pavlo is always interesting! 
  • Pgextensions.org: Good way to find out what extensions work with what cloud providers. 

Securing PostgreSQL From External Attack

YouTube: https://youtu.be/BRCh6PPVkKY?si=_UmAxKWZvcHq0GLQ

By Bruce Momjian 

Presentations by Bruce are always insightful and you are going to learn something. I was presenting right after Bruce so we worked together to catch up on time since the event was running behind. I appreciated him giving me enough time for my presentation.  I highly suggest watching this youtube since it’s got great overall information on security and the things you should be concerned with. 

Key takeaways: 

  • Understand where you stand right now and what holes you might have.  The review is good. 
  • Migrate to Scram256 for passwords, better, more solid protection. 
  • Need more SSL usage in the system
  • Move to VerifyCA for connections.  

Speaking and Community Involvement for the Introvert

YouTube: https://youtu.be/LgoZsH4Ifgg?si=ntsXrwCbk4VHb87z

By Pat Wright 

This was my first time speaking internationally.  I’ve done this presentation several times, but haven’t done it outside the US.  I did make some last-minute adjustments to try and make sure I related to my audience. The presentation is very much about community and how to present and speak in your community, so I wanted to make sure the stories fit the crowd.   If you are interested in improving your career and helping out in the community, you should check out the recording.  

Optimising Column Order for Better Performance and Maintainability

YouTube: https://youtu.be/JI7EgpV-BUI?si=GSEqzjPdTWwG7sfR

By Amul Sul 

This was an interesting session that focused on column order in tables and how data types can impact performance.  I know the data type discussion from experience with other RDBMS,  I fully agree you should right-size your data types and it will make a difference in performance in the long run.  From a production standpoint, controlling column order is a lot harder and more complex process for a fast-paced production environment. This also depends on how many engineering teams you have and how shared the tables/structures are around the team.  In a monolith with 30+ products and teams, this becomes a complicated thing to deal with. 

Key takeaways: 

  • Data types matter, and you should right-size them as much as possible 

Things your explain plan is not telling you 

Youtube: https://youtu.be/qTJxWa3_SY0?si=XvsFw2gsFKTINkm0

By Ants Aasma 

This was a good overview of what the explain plan tells you and doesn’t tell you.  I enjoyed seeing all the things that were missing and what could be improved upon in the future.   

Key takeaways: 

  • Avoid long queries, update heavy workloads. 
  • Missing – how many rows were searched but not visible.  
  • Killed tuples skipped 
  • Unexpected downsides of uuid keys in postgresql

cbo_stat_dump : Reproduce those complex query planner issues without having to replicate customer data

Youtube: https://youtu.be/APLlONVqZn4?si=LL1zicryym4B9000

By Gaurav Kukreja 

Good presentation about the Cost based optimizer and how it figures out what plan to choose for the system.  This presentation specifically talked about the cbo_stat_dump script that pulls the stats out of one system and applies them to another so that you can test changes and plans in a Dev environment.  I liked the overview of the tool and it looks like it has some good use cases.  It felt like it had some constraints that would keep it from use in my system right now but it’s good to know something like this is available. 

Key takeaways: 

  • You can’t Improve what you can’t measure.  Good Message
  • Extended stats don’t work in this script. 
  • Not great for Regression testing 
  • Used Pg_dump for ddl, does not export create stats command for table. 

Failover Slots in PostgreSQL-17: Ensuring High Availability with Logical Replication

Youtube: https://youtu.be/0ayIewCXwmM?si=DVksrFxQa2JcWIMF

By Nisha Moond

New feature in Pg17, logical replication slots will survive a publisher node failover.  Focuses on fetching and synchronizing the information about logical replication so that it can essentially failover and start the logical replication back up on the new node. We have logical replication in place so it’s important to us moving forward.  

Key takeaways: 

  • Manual versions and Automatic Versions.  
  • Automatic version has parameters to tell how in “sync” it should be. 
  • You can only have auto or manual not both. 
  • Only logical replication slots not physical replication slots 
  • No support for cascading standby sync