Chris Ellis
Nexteam
Chris is a computing and electronics geek, who loves working with Open Source software. He is a jack of all trades consultant usually spending his time engineering systems with PostgreSQL, Java and Linux. Now and then he gets time to design some electronics often involving ESP32s, Raspberry Pi CM4s and LED badges.
POSETTE 2026 Talk
PostgreSQL Design Patterns
PostgreSQL has a bewildering array of features, many which can make an application developers life easier and reduce complexity in their application!
We'll take a look at a range of use cases and some PostgreSQL Design Patterns which can be used to help solve those, all based on real problems I've run into over the years.
Covering patterns to simplify your application architecture, to build your application logic faster and to help prevent disasters from happening!
Taking a look at use cases:
- Event Scheduling and Booking
- Queuing and Task Execution
- Text Search and Fuzzy Matching
- Category and Tag Searching
- Geolocation
- Unknown data
And more!
This talk introduces a huge range of PostgreSQL features that are building blocks of patterns you can make use of. It's very much showing the art of the possible, and letting you choose how to use it.
Speaker
Interview
About the Speaker
-
Tell us about yourself: career, family, passions
So, I’m Chris, I grew up near Wolverhampton on the Shropshire border, not too far from The Iron Bridge. These days I have been living in London for the last few years.
My time is mostly spent building Mokuso.app, a martial arts club management platform, which I work on with a couple of friends via Nexteam, as well as some other clients.
I’m a computing jack of all trades, master of none, but often better than a master of one.
My knowledge and skills go properly full stack from hardware to front end. PostgreSQL, Devops, Java are my strongest areas, but I’m just as comfortable fiddling with Ceph clusters, networking and web frontends. That's also why I spend time fiddling with electronics and building some cool Elephant shaped LED badges.
-
What’s your favorite way to break the ice or start conversations at PostgreSQL events
This is something I'm slowly getting better at. It's a lot easier now I'm better known and I know a wide number of people in the community. I often end up talking to people about a talk that's just happened as an easy way into a conversation. My LED badges often end up starting conversations too.
-
What would you say is your superpower?
Something I think I'm good at is integrating different systems and solutions. Having a wide knowledge base and skill set lets me use different parts of the technology stack, bringing them together to better solve problems. Knowing when you can bend and 'misuse' something like PostgreSQL is often a big advantage for building applications, which is why I like speaking about it.
-
What is your favorite hobby?
I spend a fair amount of my time building things, a bit of a random selection of electronic things like my Electric Elephants. Otherwise, I might be listening to some Vinyl on my Hifi, or in the pub with friends. During the summer you'll often find me enjoying the slow pace of a County Cricket match down at The Oval.
About the Talk
-
Tell us about your talk? Why did you choose this topic?
The talk is a run through of various cool PostgreSQL features which application developers can use to solve certain use cases and to make their lives easier.
I've tried to keep this talk more centered around one specific application domain and pull-on different patterns I used to solve key problems.
At its core, it's all about using PostgreSQL to your advantage and knowing how it can help you build better applications.
I've worked on many systems where people didn't know what the database could do or thought it cool not to know. Those systems had so much extra application code working around the poor use of the underlying fundamental database.
I want to try and show that SQL is not that scary, and since it's already part of your solution, you may as well use it effectively.
-
Who would benefit the most from your talk and why?
This talk is very much aimed at application developers, especially those working in small companies. Whether you're new to PostgreSQL, or have been using it for a while, I'm sure you'll pick up some interesting ideas.
-
What do you hope attendees will walk away with after watching your talk?
A better appreciation of what PostgreSQL can do and the features that you can make use of. Plus promoting people to keep their mind open and not just see the database as a dumb box.
-
Which talk at POSETTE 2026 are you most looking forward to? And why?
I'm interested to see the talk on PGQ, it's something I've used in the past and it's nice to hear it being talked about again.
-
How do you balance technical depth with engaging storytelling in your conference presentations?
I think storytelling is often more important than technical content. People rarely remember rambling overly technical talk. To be able to explain something technical to a wide audience requires the talk to be well structured. I often find how to structure the talk takes the most effort.
About PostgreSQL
-
What inspired you to work with PostgreSQL?
People should listen to my “Talking Postgres” podcast episode (formerly called Path To Citus Con) for more. It was a mix of things which started me going down the rabbit hole but mainly working on a full text search project back in 2008. I will say I've not yet found the White Knight, or Red Queen, but remember what the dormouse said: Feed your head.
-
What is your favorite PostgreSQL feature, extension or tool? And why?
The Community! I find the PostgreSQL community to be friendly and helpful. I think PostgreSQL is an actual project, with multiple competitors collaborating to be hugely understated but very important.
PostgreSQL has so many cool technical features and my favorite tends to change project by project. Its extensibility is probably my favorite technical feature, but I see that as something which has happened due to it being a community led project.
-
What is the single thing that you think differentiates PostgreSQL most from other databases?
I think the core thing which PostgreSQL got right (very early on) was the pluggability of data types and functions. It's this extensibility and approach that I think has differentiated it significantly from not only FLOSS competitors but proprietary competitors. This capability coupled with the community has enabled rapid innovation at times. It's also what will ensure our longevity.
-
What advice would you give to someone starting their journey with PostgreSQL?
Don't just use 'AI', stay curious and keep on playing, you learn by doing, so keep on practicing. You get good by trying things, making mistakes and learning from them. Read the manual, try something, if it goes wrong come and ask for help. Don't just stay in your comfort zone, there are always many ways to solve problems.
-
What are your favorite resources for learning about PostgreSQL?
Planet Postgres is great for finding out about new features, for learning about how others are approaching things.
The PostgreSQL docs are a very underrated resource; they are very comprehensive.
I'd add going to a conference is a great way to discover other ideas and to chat with other people about their ways of doing things and experiences.
-
Could you share a memorable experience or challenge you faced while working with PostgreSQL?
There have been so many over the years. A very rewarding project for me was working on a Smart Energy Analytics platform that had PostgreSQL at its heart. The data volumes only ever grew, and the logic only ever got more complex. It was a constant learning of new features to use to solve problems, different performance issues to dig into and try to tune.
Probably the most fun single project was building a real-time election map, back in the era of IE6. PostgreSQL and PostGIS really enabled us to push the boundaries of what was possible back then. The company's core mapping system was junk compared to what we managed to pull off with open-source tools and a bit of passion. We ended up in one evening pushing the same amount of bandwidth as the website did in a whole year. Plus being in the count hall inputting data was pretty cool.
-
In your opinion, what are the most common pitfalls or mistakes developers make when working with PostgreSQL?
Treating the database as a dumb data store or viewing it solely through the eyes of an ORM. PostgreSQL is an extremely capable database engine, if you're stuck in the land of SQL92, you are missing out on so much which can make your life easier. See the database as part of your application and you'll be able to solve problems better. Don't get too locked into absolutes such as “I can't have any business logic in the database”.
Another common one is poor data modeling and poor choice of data types. I get quite irritated when I see people using
VARCHAR(255), it's a great demonstration that you don't know PostgreSQL well, nor the problem domain you're working on, it's just lazy engineering. -
Which skills are a must-have for a PostgreSQL user/developer?
Curiosity. That desire to go and learn how to get the most out of PostgreSQL.
You don't become a Violin virtuoso without thousands of hours of practice. Learning PostgreSQL (or anything else) is the same. There are no shortcuts to getting good at something. So, I often think the most important thing is to find working with PostgreSQL interesting, or at least the problems you are solving with it.
-
What is the most overlooked thing about PostgreSQL?
After the initial buzz, range types haven't had much attention over recent years. They're very handy for a range of use cases, and even good to just make your syntax neater. I'm glad to see full text search that's built into PostgreSQL getting talked about more in recent years, it's a very handy feature to be able to mix and match with other PostgreSQL features.
-
PostgreSQL is opensource, did that ever help you in any way and how?
One significant fun moment comes to mind. We had a rather complex bill processing stored function. We left it running over the weekend, in the office on Monday it still hadn't finished, CPU sat at 100%, very little disk IO, all a bit fishy. Used strace, very little syscalls happening, attached GDB, hmm spending a lot of time in SMgr unreeling a singly linked list or unowned relations. Our job had effectively been creating a new temp table inside the loop, we had around 6 million temp table files on disk.
I looked up the code to find a comment: 'In the worst case this could be rather slow; but in all the cases which seem likely to be performance-critical…'. Essentially, we'd triggered an edge case no one thought would be common. The fix for our function was pretty trivial and over the years this handling in PostgreSQL looks to have changed a fair bit.
But it was definitely a time that being able to read the code really helped identify and fix a problem quickly.
-
If you had a magic wand, what single thing would you change in PostgreSQL as it is today?
At a technical level, I think supporting cross major version replication would be the key feature to get to. It's not something that would be easy, but I think it would give our users the upgrade experience they actually want.
At a less technical level, I think we need to be a bit more batteries included. Our mindset of having things like cluster management and backup as totally 3rd party is out of line with what a lot of users expect in 2026.
-
Are you involved in any volunteer or community efforts around PostgreSQL? If so, what do you do and why did you get involved?
As well as speaking at quite an array of PostgreSQL events, I'm co-organizer of the PostgreSQL London Meetup (p.s. we're always on the lookout for speakers and sponsors).
I'm involved with helping organize several PostgreSQL conferences in Europe. I'm helping organize PGConf EU 2026 and PGDay UK 2026, which I've helped organize in the past along with PGDay Lowlands. I've been responsible for revamping the look and feel of a number of PostgreSQL conference websites over the last couple of years.
I'm co-hosting the PG Outreach Unconference event on the community events day at PGConf EU 2026, hopefully together we can come up with ways to better reach out to other projects and boost PostgreSQL more.
About POSETTE & Events
-
Have you enjoyed previous POSETTE (formerly Citus Con) conferences, either as an attendee or as a speaker? If so, what did you enjoy most about it?
While it still feels kinda weird listening to yourself, it's really nice to be able to chat with the audience during the talk. It's also fun to listen to a big range of other talks, I'm quite looking forward to the talk on PGQ - another thing I'm happy to see being talked about more after a long hiatus.
-
What motivated you to speak at this year’s POSETTE: An Event for Postgres?
These days I try to submit my established talks in some form to all the events that I can reasonably attend. I'm also lucky enough to have been encouraged by Claire and Teresa over the years to submit talks.
-
What other PostgreSQL events in 2026 are you excited about and why?
There have been some good ones already: FOSDEM, Nordic PGDay and PGConf DE, all that I was involved in somehow.
I'm really looking forward to PGConf EU this year, especially to how the new bigger venue will pan out. I hope it's a popular success, despite all the chaos in the world at the moment.
I'm looking forward to PGDay Lowlands that's always a bit different. I'll be happy to see all the local and UK wide communities come together at PGDay UK.
-
What advice would you give to fellow speakers preparing for a PostgreSQL conference?
Firstly, go for it. Secondly, keep trying. Thirdly, practice, practice, practice.
It's really important that we get more speakers into PostgreSQL events, with more and more events happening, we really need to increase the pool of speakers. Abstracts cost nothing, so if you've got an idea, pitch it to a conference call for papers. If you're really unsure, all the speakers I know would happily give you advice. We often really lack user stories, so don't feel you're not technical enough to talk.
If you get accepted, don't leave the preparation to the last minute. It takes way longer than you think to put a talk together, it's surprising how long it can take to put your thoughts into an order which makes sense for the audience.
-
Could you share a memorable moment from a previous PostgreSQL conference you attended or spoke at?
I still vividly remember the first talk I ever saw at a PostgreSQL conference, back at PGConf EU 2010 in Stuttgart, Gianni Ciolli talking about building a Chess bot with PostgreSQL stored functions. It was a fun way to talk through the power and capability of functions plus all the stats tracking you get for free to help you optimize your code.
Open Forum
-
Is there anything you’d like to share with the Postgres community attending this year’s POSETTE: An Event for Postgres?
For those people that find themselves needing a simple solution to building application business dashboards, and like the idea of doing that mostly with SQL, check out: pgVis. pgVis is a PostgreSQL centric tool for building simple and elegant data visualization dashboards. A simple to use SQL DSL and a PostgreSQL centric approach which fits around your workflow. Visualizations can be viewed in any modern browser in both online and offline modes and even exported directly from psql.
Past Talks
-
Fun With UUIDs (POSETTE 2025)
-
Even JSONB In Postgres Needs Schemas (POSETTE 2024)
Podcast Appearances
-
Becoming expert at using PostgreSQL with Chris Ellis
Subscribe to the POSETTE newsletter
to keep up with the latest news
Join the conversation
Use the hashtag #PosetteConf