Yurii Rashkovskii
Reading time: 14 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.
I was born and raised in Ukraine, and moved to Canada in 2008 without knowing much about it. I wanted to go as far west as I could to explore. That move changed my life a lot, and I now live on beautiful Vancouver Island in British Columbia.
I got into programming early on, before I was ten years old — partly because I was inspired by my mother’s profession and partly because I felt that computers were infinitely exciting toys.
Since then, I’ve worked on different projects and used many languages and platforms. I got a startup bug in the mid-2000s and never got rid of it. I’ve always been drawn to contribute to the software industry as I am most passionate about it, so a lot of my work has been around open source and people in the community.
For a long time, I’ve sensed that code and data have a very special relationship, so I’ve been trying to understand the nature of it better. This has led me to a much closer proximity to databases.

How do you spend your free time?
I spend my free time with my kid and my wife. It’s very difficult to delineate and carve out “free time” when you’re working from wherever you are, but I find ways to make time. I hope I succeed more times than I fail!
We like to travel—even if it is not easy to travel with a kid—because it allows us to experience different perspectives on what it means to live: the food, the weather, the people around you. It’s like having a chance to experience short segments of others’ lives in your own.
Any exercises you do regularly?
I used to do a lot of road cycling – and pushed my limits by riding centuries (and longer) in some less-than-cycling-friendly places like Bangkok and nearby provinces.
Nowadays, I am into road running, and I run very regularly and participate in some races and marathons! It has taught me a lot about myself, my body and the notion of perseverance.
Come wintertime, I enjoy skiing, both downhill and cross-country. Although I am not very good at it, I hope to get better at it.
Just recently, I joined the Geeks Go Peaks group to summit Mount Ararat in Turkey. That’s over 5,000 meters—the first time I’ve made it that high—and I think it was a great exercise involving some physical, mental, and gearing challenges! Definitely something I would recommend doing (with a caveat for health challenges)
Any Social Media channels of yours we should be aware of?
Last book you read? Or a book you want to recommend to readers?
Sadly, I don’t have much time to read, but I am currently reading “Fall; or, Dodge in Hell” and enjoying its style. I am also seeing obvious parallels with Doctorow’s “Walkaway.” I don’t fully subscribe to the authors’ ideas and platforms, but oddly enough, I enjoy reading them. It is interesting to explore the intersections of economic, social, and individual aspects of the cybernetically-powered afterlife—both inside and outside of such an afterlife. Lots of interesting notions to explore!
Favorite movie, or show?
I have been a big fan of Star Trek throughout, starting with the classic episodes. Each decade has brought its unique flavour and style, and that’s one of the show’s strengths. The Orville by Seth MacFarlane fits into this very well – it’s perhaps the one I enjoyed the most recently.
Outside of the big shows, Midnight Diner is a great timeless (though contemporary) piece.
Also, have you seen Fargo (the movie)? I watched it probably 10 times – along with many other Coen brothers’ pieces.
Best food?
Hands down, Thai and Japanese food. Thai food is excellent in its explosion of flavours, vibrancy, and… let’s call it “messiness”—it’s as real as life can be. And don’t forget the spiciness component of it – it’s almost an addiction! Japanese food feels much more conservative and orderly, but it’s a precision-calibrated goodness.
It really helps that my lovely wife is Thai and, coincidentally, amazingly talented at cooking.
Best drink? Non-alcoholic or alcoholic?
I stopped drinking a couple of years ago. It turns out that they have started making pretty good non-alcoholic beers these days! And my body is thanking me for this decision.
In particular, I enjoy low-calorie N/A beers made by Partake here in Canada. They are virtually guilt-free 🙂
What does your ideal weekend look like?
On an ideal weekend, I prefer to stop thinking too much about work and focus on mental wellness: family, friends and nature.
I am trying to practice one day, Saturday, unplugged – entirely without devices.
My typical Sunday includes a long run—a great time to decompress. We also find many small things to do—go to a toy library, farmer’s market, or simply meet friends for a walk or play.
We are blessed to have forests, mountains, and the ocean all in the same place, so it’s pretty easy to get to nature on any given day, especially on weekends.
A funny story from this summer. I took my wife and daughter to hike some trails in the mountains. The theory was simple: I’ll take them through the cross-country skiing trails I am familiar with. When we started, it was a bit rough and muddy, but okay – and quickly improved. But then I decided to close the loop with another trail, returning to the parking lot only to find it overgrown with thick and tall bushes. Those were entirely covered by snow when I was skiing! We proceeded further – I expected it to get better. But after some bushwhacking (when my wife was ready to whack me instead), we had to turn around and go back the same way. Don’t trust your knowledge of trails if you’ve never been on them in the summer!
What’s still on your bucket list?
Getting a second career. I am still not sure what it will be, but my current hunch is that I want this career to take place in a physical world. Search and rescue keeps intriguing me, and it is, in a way, so opposite to my experiences and core inclinations.
What is the best advice you ever got?
When you perceive a problem, zoom out and then zoom in. Will this still be a problem in five years? Two years? Six months? Tomorrow?
This helps prioritize problems and practice better self-care mentally and physically, such as better sleep, better relationships, and healthier habits overall.
In essence, accept, let it go and get a good night of sleep, every night.
When did you start using PostgreSQL, and why?
Somewhere in the 2000s – I used Oracle prior to that, as my first employer was very J2EE/Oracle-heavy. Then the dotcom crash happened… and I guess that naturally created incentives to adopt open source databases. I’ve used both MySQL and Postgres at the time, and then consolidated my database use mostly around Postgres.
A big part of why I consolidated on Postgres has to do with people: the community behind it, the adoption motion, and the talent pool. The other reason was to make a decent “default” decision: that is, unless I have some special requirements, just go with Postgres to have one less choice in the beginning. I took it to an extreme lately – trying to do just about everything in Postgres!
Have you studied at a university? If yes, was it related to computers? Did your study help you with your current job?
I am a university dropout – I am still not sure it was the best decision fundamentals-wise (I attempted to study math), but it allowed me to start my professional career early! At the time, I thought it would be of little use to my work. I am a bit wiser now.
What other databases are you using? Which one is your favorite?
I really enjoy SQLite for a lot of small “portable” cases. It’s great for a lot of single-user, offline cases and it is an impressive piece of engineering.
I’ve also had fun working with interesting pieces like MUMPS (GT.M, Caché) and even more obscure ones – but it’s more on the “research and exploration’ side of things.
On which PostgreSQL-related projects are you currently working?
I work on Omnigres, which turns Postgres into a complete application runtime. The core philosophy behind it is that data and business logic are not truly independent and benefit from being coupled. Some consider it a hot take – and maybe it is, but it wasn’t always, and I believe it’s time for a comeback.
How do you contribute to PostgreSQL?
I contributed a few tiny patches and plan to do more as needed. My most important immediate objective in the community is to elevate the extension development experience. To that end, I worked on the omni extension that supplants Postgres with some functionality extensions that I find useful (hot upgrades, better hooks, introspectability, etc.)
Any contributions to PostgreSQL which do not involve writing code?
I recently started the Postgres Extension Developers Coalition (PGEDC) to get extension developers together and create a dedicated forum and advocate for their needs. As part of that, I want to engage in API colour-coding, creating learning materials, and Postgres code analysis for the mechanical derivation of some of its properties to enable further analysis on extensions.
What is the most annoying PostgreSQL thing you can think of? And any chance to fix it?
I have a few hot takes, but let’s pick one for today.
It is its attachment to SQL — a language largely designed for analysts and other non-professional users to gain access to and manipulate data — is now largely emitted by applications (whether written by hand or generated by libraries). Unfortunately, SQL is suffering from composability and reuse problems as well as the rigidity and static nature of some of its sublanguages, like DDL. Some people say SQL has survived for 50 years because of how great it is – I don’t believe this is really it. I think it survived despite its flaws.
However, for better or worse, SQL is sort of the lingua franca of databases, so we can’t (and shouldn’t) just throw it out. But it would be interesting if there was an internal intermediate language SQL and other languages would compile (“lower”) to.
Ultimately, this encroaches onto the territory of this big “framework” vs. “library” debate. Postgres is a framework—the thing that owns the workflow. This limits its flexibility and algorithmic reusability. But what if it was more of a well-decoupled library? What if SQL parser was just a component we linked with others? What if we could build our data processing pipelines by reusing existing blocks but not the flows? Think of Apache Calcite, but even with a larger mandate and impact.
Would this mean we should call it just Postgres?
Yes, please!
What feature/mechanism would you like to see in PostgreSQL? And why?
I really want to see complete support for bitemporal modelling. I think this is something that many business-oriented database users need and don’t have in Postgres.
Even though I have some reservations about it, I am quite interested in Postgres becoming multi-threaded. I think it’ll unlock a lot of interesting possibilities and will make it even more extensible, let alone performant.
Should PostgreSQL have a built-in connection pooler / multi-master replication?
I think so, and I think a significant attention needs to be paid to extensibility with respect to such features. It would be a great opportunity for extensions to augment the core functionality. Anything built-in is great for convenience but may be stifling to experimentation and innovation if built too rigidly.
Could you describe your PostgreSQL development toolbox?
Nothing unusual. Mostly any Vim-mode editor (Vim itself, CLion, occasional VS Code). I do a lot of source code search and can be regularly seen navigating references on doxygen.postgresql.org on the fly (I wish it had better support for browsing on the phone!). I don’t shy away from gdb/lldb – these can save a lot of time!
Which skills are a must have for a PostgreSQL developer?
Patience. When things go well, it’s all good – but sometimes the complexity of the details can be intimidating and one must possess an ability to read through code, documentation & the mailing list carefully to make good calls. Same applies to communicating with other people in the community.
Which PostgreSQL conferences do you visit? Do you submit talks?
Different conferences bring different people in so I aspire to visit them all, subject to time and other constraints. I like to challenge myself and speak about the topics of interest: it forces me to crystallize my thoughts, creates great opportunities to meet people, both like-minded and not.
So far, I’ve been to PGConf.dev, SF Bay’s Postgres Conference, pgIbz. There’s a whole lot more to explore. I am going to be in Brazil next month for their PGConf!
Do you think PostgreSQL has a high entry barrier?
From a developer’s perspective? Yes. It’s a mature project with its own practices, legacy and know-hows and it takes time to get used to it. On the one hand, it’s written in a commonly known language (as in, it’s the opposite of esoteric). But on the other hand, really understanding C and its subtleties is difficult. If you are a very good C developer, perhaps your barrier is lower than for others.
What is your advice for people who want to start PostgreSQL developing - as in, contributing to the project. Where and how should they start?
I would recommend voraciously reading relevant Postgres source code to learn the details of the implementation.
Do you think PostgreSQL will be here for many years in the future?
Most likely, yes, but that shouldn’t make its community complacent. Otherwise, it will be here… until it isn’t. Spotlight should not be taken for granted!
Would you recommend PostgreSQL for business, or for side projects?
Both — with a caveat that it may not be a great fit for some cases.
Are you reading the -hackers mailinglist?
I do, however, I tend to read topics selectively to save time. I am wishing for better discoverability of threads to read / not miss.
What is your opinion on ORMs?
ORMs are somewhat polarizing and there are at least a few reasons why people feel that way. I think the “object” aspect of it can be both important and unimportant, depending on how you look at it.
I prefer to have a type-safe approach to building queries in the host language. Embedding strings works, but… is simply more error-prone. So, unless I write SQL by hand (which is often the case) I lean more on the “type-safe SQL DSL” side of things as opposed to ORMs, as that creates less layers of indirection.
Speaking of type safety, I’ve recently blogged about type-safe JOINs that can be achieved by leveraging Postgres’ type system.
That said, sometimes it’s easier / idiomatic to just use the default. So, if I had to develop a Rails app, I’d just use ActiveRecord unless I had a sufficiently large time budget. I am not extremely religious about ORMs. I think they are fine if you are aware of their limitations and impact.
SQL versus NoSQL databases?
Depends on what is meant by this choice. Relational vs non-relational? Explicit schema vs implicit?
A lot of people I talked to choose NoSQL because it was “easier”. I chose SQL databases (like Postgres or SQLite) because they were “easier” for me. It may have something to do with what you learn first, I guess?
Ultimately, I think the future is in multi-model databases.
What other places do you hang out?
Postgres Slack (though I am mostly quiet), a few Discord communities. Time is limited, so as much as I like hanging out, I often forget to peek unless I am mentioned.
Which other Open Source projects are you involved or interested in?
I am trying to contribute to open source projects I encounter, so it is a little bit all over the place. I do so by providing patches, bug reports and financial contributions.
Speaking of the latter, I want to urge the readers to consider sponsoring open source developers. It’s not just about the money, this is a tangible representation of moral support which can be critical to them. I have been a recipient of such contributions, and oh boy, it feels great!
Share: