Reading time: 13 minutes
PostgreSQL is the World’s most advanced Open Source Relational Database. The interview series “PostgreSQL Person of the Week” presents the people who make the project what it is today. Read all interviews here.
Please tell us about yourself, and where you are from.
My name is Ryan Booz. I’m from central Pennsylvania in the U.S. - very near Penn State University’s main campus. My wife Laura and I have six children and live on a small hobby farm with 33 acres.
My undergraduate degree is in music education, although I spent two years switching back and forth between computer engineering and music before I (and my parents) realized I had to commit to something if I wanted to graduate in a reasonable amount of time. After teaching music and technology for a few years at the high school level, I transitioned to Penn State to teach software and technology to staff and adult learners.
It’s hard to believe that was more than 20 years ago and I haven’t stopped learning about, and teaching, software and technology since.
How do you spend your free time? What are your hobbies?
As a large family, we spend plenty of time adventuring together, making music, watching baseball, gardening, and playing games. We don’t sit still often (unless we’re reading a book).
Aside from that, I love creating and learning, and so I roast my own coffee each week and have been a beekeeper for the last five years. (Sometimes I’ll live-stream when I’m working with the bees, and hopefully more in 2023)
Any Social Media channels of yours we should be aware of?
- Twitter - as long as it’s available.
- www.softwareandbooz.com - This is my personal technology focused blog. After years of wishing I was a more regular blogger, I’m finally getting more consistent and the majority of the things I write about will be PostgreSQL related in some way.
- www.pgsqlphriday.com - In December of 2021, at PGConf NYC, I was fortunate to give a talk about the PostgreSQL community. One of the ideas I presented was to copy an idea from the SQL Server community called T-SQL Tuesday, a monthly blogging event that anyone can contribute to. Many people, Andreas being chief among them, were supportive of the idea and as I’m writing this in December 2022, we’ve had three months of events and some really great participation!
- github.com/ryanbooz - My GitHub repository is slowly growing with example PostgreSQL projects, SQL, and presentations.
Last book you read? Or a book you want to recommend to readers?
Throughout the pandemic I read The Lord of the Rings trilogy to my older kids. We didn’t read consistently, so it took us a year and a half, but that actually made us enjoy the journey of the characters more. When we finally finished it this past spring, we all sobbed through the last few chapters and when the book ended, I closed it, tears in everyone’s eyes and we just sat silently for 10 minutes, feeling the finality of the moment. Not sure I’ll ever have the experience again with a book, but I won’t ever forget the opportunity to do that.
At a more technical level, I’ve really enjoyed Henrietta’s book on PostgreSQL query tuning in the last year. I’m always interested in books about practical statistics and can recommend The Signal and the Noise by Nate Silver or Moneyball by Michael Lewis.
Any favorite movie, or show?
We’re always looking for movies or shows that the entire family can enjoy, which is challenging because of the age range of our kids. One of the highlights of the long pandemic was finding “All Creatures Great and Small”, the Masterpiece Theater TV show about James Harriot. Our family has always enjoyed the various stories from Harriot’s writing and we think they did a wonderful job bringing aspects of many of the characters to life.
As an added bonus, the lead actor recently recorded the entire book in audio form and does a masterful job there too.
What does your ideal weekend look like?
Cooking delicious food, finishing a house project, going on a hike with my family, and taking Laura to her favorite restaurant to get some time to catch up from a week full of activities.
What’s still on your bucket list?
Visit Iceland, Ireland, and Central Europe with Laura (maybe a 25th anniversary tour?)
Do a U.S. tour with my kids before they’re all fully out of the house and hit the big attractions (mainly national parks). Ideally rent a camper and go on a multi-week driving adventure!
Author a PostgreSQL book or video training course in the next year
Grow my coffee roasting into a small side-hustle
Let’s see where I am on these couple of things before I worry about anything else! :-D
What is the best advice you ever got?
Years ago Laura and I were struggling to make a big decision about where to live and whether we should sell our property. I sought out advice from some trusted friends and one of them responded back, “Ryan, I don’t know the right answer for you. But I can encourage you to keep talking with Laura and see where you have agreement on some of the big issues. Wherever you have agreement, move in that direction!”
It was a great way to focus our thinking, our energy, and it allowed us to quickly weed out distractions. This advice has served us well in a number of big decisions since!
When did you start using PostgreSQL, and why?
In 1997 I started to learn how to develop Perl/PHP web apps with MySQL. When I went to Penn State in 2002 and needed a database for a department application I was developing, DB2 was the only official option the university would provide at the time. I was the first PHP/DB2 developer on campus apparently.
In 2003 I switched into a system administration role and I was able to set up my own servers for another new project. I wanted the database server to be replicated, but MySQL didn’t have a great story in this area and I had heard that PostgreSQL did. So, I set up a pair of servers, installed PostgreSQL, and started learning how to do SQL the “proper” way. ;-)
Do you remember which version of PostgreSQL you started with?
I was using early versions of OS X Server (10.1), based on BSD, for my servers. I’m fairly certain I had to build PostgreSQL manually and so I assume it would have been a recent version at the time… so 7.X??
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
I studied at Penn State University. Originally I had planned to get a degree in Computer Engineering, focusing on hardware/software design for computer animation and virtual reality. For various reasons, I moved back and forth between engineering and music a few times before finalizing on music.
In a long chain of events, it did help me get my current job because I started as a music educator at a small, private school. I ended up teaching the technology classes too, which allowed me to start learning databases at an accelerated pace, and I haven’t stopped since.
What other databases are you using? Which one is your favorite?
I primarily use PostgreSQL at this point. I have a lot of history with SQL Server and still like to talk about the advantages and disadvantages alongside a solution based on Postgres, but all of my teaching, writing, and speaking are primarily focused on Postgres.
On which PostgreSQL-related projects are you currently working?
One of Redgate’s flagship tools is Flyway, which it purchased in 2018 to augment their industry leading SQL Server toolset around database DevOps. As an open-source project, the Community edition already has a large user-base, and PostgreSQL developers are some of the heaviest users. For many years, I’ve been very interested and intrigued by the concepts of continuous integration and deployment with database changes, and Flyway is a tool I’ve used previously. What excites me the most about joining this team is that Flyway merges both state-based and migration-based approaches to really enhance the development workflow.
How do you contribute to PostgreSQL?
I don’t contribute to the core project, yet - hopefully someday.
Any contributions to PostgreSQL which do not involve writing code?
You and I first met, Andreas, discussing the PostgreSQL community. For the last four years, I’ve been working to better understand how I can support users near and far through conferences, educational blogs, example SQL, and initiatives like PGSQL Phriday - a monthly blogging event for the worldwide Postgres community.
What is your favorite PostgreSQL extension?
As a former member of the Timescale team, and a developer that has primarily worked with large sets of time-series data over the years, I really like how they’re using the core extension functionality in a broad way to solve useability problems for that domain.
My second answer might seem a bit unusual, but I found the pg_trgm extension early after returning to PostgreSQL. It solved a need I had to accommodate manually in other database systems, and the fact that new index types could be added modularly really blew my mind.
Honestly, just having the ability to extend PostgreSQL at all still boggles my mind sometimes, especially when talking with users of other databases.
What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?
There is so much to love about Postgres, something I wasn’t sure I’d say 4+ years ago when I returned to using it daily.
However, one hurdle that still remains for most day-to-day developers is understanding it beyond CRUD usage. Flagship features of PostgreSQL are often abstracted (or inaccessible) by other layers of code or frameworks. Continuing to find ways to illuminate the strengths of Postgres, and the nuances of our community development, will only help folks fall more in love with this extraordinary database.
In the annual State of PostgreSQL survey that Timescale does for the community, many folks mentioned a need for better “how-to” examples in the docs, or maybe new sections that can better illustrate core concepts and features from start to finish. The way to fix it is getting more folks involved in documentation. It’s clear that many have tried to make this easier through presentations, blogs, and videos over the years, so it’s probably just a topic that needs to keep being pushed forward as more and more people get involved. (speaking for myself, I really hope to contribute at least one documentation patch in 2023).
What is the feature you like most in the latest PostgreSQL version?
I like the thought and effort being made around more logical server roles and default permissions. The changes in PostgreSQL 15 to limit default role permissions is a big step forward. Coupled with more easy-to-understand default roles, PostgreSQL continues to get easier to understand and manage.
Also, any time there’s improvement around how work_mem is utilized (additional improvements around sorts this time), everyone wins.
Adding to that, what feature/mechanism would you like to see in PostgreSQL? And why?
I know there is always a conversation around TDS and now multiple forks of PostgreSQL support some flavor of it. It’s a really tough topic to get “right” in a way that most users will be happy with, but I think it’s probably one of the last, “big” topics that comes up often in comparison with other databases in the enterprise space. I appreciated Stephen Frost’s talk at PGConf.EU about previous attempts and current progress, so I continue to have hope that it will ship sooner than later.
Could you describe your PostgreSQL development toolbox?
I work between Windows and Mac with Redgate tools and customers. Therefore, I’m mostly running PostgreSQL via Docker most of the time. This allows me to spin up multiple versions and different configurations as needed.
For writing SQL/code, psql is always open and connected for quick stuff, but I primarily use either DBeaver Community or VSCode for demos and authoring posts.
Do you use any git best practices, which makes working with PostgreSQL easier?
My use of git is primarily for database DevOps and schema management with migrations. As I said earlier, even before joining Redgate I’ve been really intrigued with how to effectively track and maintain changes across multiple environments and multiple developers. Understanding git branching and the various ways to integrate CI/CD within your chosen tooling pipeline (GitHub Actions, Gitlab Pipelines, Jenkins, etc.) is becoming a necessary part of the job with database developers and DBAs.
Which PostgreSQL conferences do you visit? Do you submit talks?
I’ve had the fortune to attend PGConf.NYC and PGConf.EU, both excellent conferences. I think 2023 will really provide a renewed view of how conferences will function and what developers think is worth their time and money. I’m excited to see how things come back to life.
I do submit talks and thoroughly enjoy the opportunity to learn more about PostgreSQL through the process of teaching others.
Do you think PostgreSQL has a high entry barrier?
As with most things in life, I think this gets harder to answer objectively as you use something day-to-day. One of my initial complaints coming back to PostgreSQL after using SQL Server for so long was the lack of consistent tooling and a community
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
First, connect to one of the many online communities (Slack, Twitter, Discord, Reddit, mailing lists). You’ll just learn so much by watching what other users discuss and share.
Second, attend an event (or more than one!) and start to meet people! This can certainly be done virtually too, but there’s something really unique about being in the same space with other like-minded data professionals learning and sharing with each other. It’s been a tough few years (although PostgreSQL and the community have weathered it well!) and I’m certain that 2023 and beyond we’ll really see a new growth in the community and contributions.
Do you think PostgreSQL will be here for many years in the future?
I think PostgreSQL is really just getting started. The thought and care put into decisions translates into stability and ingenuity that helps everyone. As I mentioned earlier, there’s just no rival when it comes to extensibility, while still maintaining untouched, core functionality. So yes, 100% a bright future ahead… for many years!
Would you recommend PostgreSQL for business, or for side projects?
OK, slightly deeper answer. PostgreSQL is currently the most ubiquitous relational database on the market. It’s so, so easy to start using and every known data tool can connect to it. There are multiple options for free hosting of hobby accounts (to get started) and enterprise-grade services to serve your every need (and region).
There is no one-size fits all solution in tech, but PostgreSQL is the most extensible, flexible, and robust relational database on the planet… and it shows now signs of slowing down innovation or capabilities.
“Just use Postgres…” ;-)
Are you reading the -hackers mailinglist? Any other list?
I do try to follow the -hackers list, but it can be a bit overwhelming. I still need to figure out how to digest the deep, thoughtful content there a bit better.
I also follow -general and -advocacy.
What other places do you hang out?
Mostly Slack. I feel like I literally learn something new about PostgreSQL every day by checking the Slack channel and seeing what folks like Lætitia Avrot (Lætitia) and Hubert Lubaczewski (depesz) share.
Anything else you like to add?
Honestly just a huge “Thank you!” to you Andreas. These interviews have been a great way to learn more about the PostgreSQL community and your consistency in sharing them and connecting people is a great resource. Thanks for everything you keep doing to try and draw people together.