The Story Behind the Activity Book for Postgres

Written by Teresa Giacomini
September 28, 2023

This post by Teresa Giacomini about version 3 of the Activity Book for Postgres was originally published on Microsoft Tech Community.

Version 3 of the “Activity Book for Postgres” is hot off the press. And you can get your own copy if you come say hello at the Microsoft booth at the PGConf NYC and PGConf EU conferences in 2023. The Activity Book will also be available at other Postgres meetups and smaller PGDay events that our team attends throughout the year (and it was one of the giveaways at Citus Con: An Event for Postgres earlier this year, too.)

Whether you have kids, or nieces, or nephews—or perhaps you yourself find coloring a useful way to distract your hands while your mind tackles complex problems—you can likely put the book to good use. And who doesn’t like a good bad database joke?

In this post, you’ll find out about the inspiration for the book, as well as the hidden meaning behind each of the pages—and a way to request your own copy.

So what’s the origin story for this Activity Book for Postgres?

How did this thing come to be?

Inspired by the GitHub Activity Book, the first version of the Activity Book for Postgres debuted at PGConf EU 2019 in Milan. People loved it. The 2nd version came out at PGConf NYC in September 2022. And now v3 is available too, a complete revamp of the previous editions—with El the spunky little elephant you’ll find throughout.

Designing this activity book for ages “3 to Adult” was quite fun.

Figure 1: 3 versions of activity book
Figure 1: The covers for v1, v2, and v3 of An Activity Book for Postgres—featuring “El”, the spunky adventurous elephant.

What drove the decisions on what to include?

There are so many Postgres features, a thriving Postgres ecosystem, and a global community that loves Postgres. An Activity Book for Postgres is a celebration of Postgres and its extensions, ecosystem, and community—a homage to Postgres to delight those of you who manage to get your own copy, and have some fun. To that end, the coloring pages and activities in this book satisfy these constraints:

  • Focuses on Postgres, its extensions, ecosystem, and community
  • Results in a piece of physical content that is “kept”, that people want
  • Avoids marketing, yet acknowledges gratitude to the team that created it
  • Provides opportunities to learn SQL and database terminology
  • Allows for visual metaphors that appeal to children while representing the Postgres database concepts—for the coloring pages especially
  • Includes a balance of activities/games and coloring pages, plus some really bad database jokes—to appeal to both children and adults

What topics or concepts does the activity book illustrate?

After much brainstorming, deliberation, and collaboration, these topics & concepts were chosen for inclusion in v3, in alphabetical order. Do you think we missed anything? What would you have included?

  • AI-Ready
  • Backups & Disaster Recovery
  • Database Terminology
  • Distributed Postgres
  • Extensions to Postgres
  • Global Postgres Community
  • High Availability
  • Multi-tenant SaaS apps
  • Performance
  • Postgres 16
  • Real-Time Analytics apps
  • SELECT DISTINCT
  • Sharding with Citus
  • SQL Language
  • Tuples & Pages

The story behind each page of the activity book

Each page of the activity book has a hidden meaning rooted in Postgres, Citus, or general database language and technology. If you want to know the story behind each page, read on. If you just want to see how you can get your hands on one, skip to the bottom.

Figure 2: first and last pages of activity book
Figure 2: The first and last pages of “An Activity Book for Postgres v3”—on the left a map representing the global Postgres community, and on the right El in a futuristic café with her robot friend name Ai. You can get a copy of the Activity Book at the Microsoft stand at upcoming PG conferences, including PGConf NYC and PGConf EU.

Global Postgres Community: Postgres has a global community creating, using, and supporting Postgres. The borderless world map illustrates the worldwide love for Postgres. The map is not in perfect scale, but the heart symbolizes the community’s love for Postgres. You’ll also find mascots from a few other open source projects, landmarks from a few of the places Postgres events will happen, and a turtle. (In Japan, Postgres is represented by a turtle rather than an elephant.)

AI-ready: With pgvector available now, Postgres is AI-ready, and so is El.

Figure 3: first spread of activity book
Figure 3: A 2-page spread in An Activity Book for Postgres v3. On the left, the Word Scramble using database terms; on the right a bullet train in Prague giving a nod to Postgres 16 & database performance.

SQL Language: Did any of you love these word scramble games growing up? For this Postgres-y version you’ll find database & SQL terms that non-engineers will know as ordinary English words, though you might need to help young children with the word “tuple”. The solution is a phrase many developers and database admins have uttered more than once. Also included, the first of several database jokes!

Performance of Postgres 16: In 2023, PGConf EU will be held in Prague, Czechia, hence the setting for this super-fast bullet train #16. The number 16 stands for PG16 of course—and the speedy train to represent the performance gains Postgres users enjoy.

Figure 4: 2nd spread of activity book
Figure 4: A 2-page spread in An Activity Book for Postgres v3 representing different use cases for the Citus database extension to Postgres: on the left, real-time analytics and on the right, multi-tenant SaaS.

Real-time analytics apps: El the fortune teller is using a crystal ball to analyze the gathered data, which is similar to what real-time analytics applications do. The data is then used to provide the python and gopher (mascots for other open-source projects) with insight into past performance and upcoming trends. And a bad database pun is here too.

Multi-tenant SaaS apps and distributed Postgres: Using Citus, multi-tenant SaaS developers now have two ways to shard Postgres: row-based sharding represented by the high rises in the city, and schema-based sharding represented by the cookie cutter style suburbs. What type of sharding will El choose?

Figure 5: 3rd spread of activity book
Figure 5: A 2-page spread in An Activity Book for Postgres v3. On the left, a chance to learn some database lingo, on the right El using a few Postgres extensions to get the job done.

Database terminology: Who doesn’t love a crossword—especially one all about database terminology? Plus a SQL pun.

Postgres extensions: One of the many important attributes of PostgreSQL is its extensibility. In the Postgres toolbox, El has many different extensions to choose among to get the job done. Included are just a few favorites—pg_cron, Citus, PostGIS, pg_stat_statements, & pgvector.

Figure 6: 4th spread of activity book
Figure 6: A 2-page spread in An Activity Book for Postgres v3 all about distributed Postgres, the Citus extension to Postgres—sharding & distribution.

Distributed Postgres with Citus: At the pizza parlor, El is tossing pizza and distributing ingredients across different pizzas. You can think of the different pizzas as different nodes in a distributed Citus database cluster.

Cracking the Code: All adventurers need to be able to crack the code. Postgres developers do too. While coding, El uses the key to solve the puzzle with a special message about Citus. Don’t miss the silly “dad” joke.

Figure 7: 5th spread of activity book
Figure 7: A 2-page spread in An Activity Book for Postgres v3. On the left an activity sometimes referred to as the dot game; on the right another adventure for El as a spelunker—a bad pun on the word “shard”.

Tuples & pages: In the Postgres world, this game represents tuples and pages. In this game, the player whose tuples occupy the most space on the page wins!

Sharding with Citus: One of the key concepts of the Citus database extension to Postgres is sharding. When you shard, you split a table into multiple smaller tables that can be distributed across nodes in a cluster. This page features El the Shard Explorer—and a bad pun.

Figure 8: 6th spread of activity book
Figure 8: A 2-page spread in An Activity Book for Postgres v3. On the left El and her open-source friends the snake (Python mascot) and the giraffe (Kubernetes mascot) have a backup plan; on the right a fun “find the differences” game.

Backups & Disaster Recovery: Luckily El had been diligently backing up Postgres, and so had a parachute when disaster struck. (In v4, you might even find a hot air balloon to represent a hot standby.) And there are some open-source friends along for the ride.

SELECT DISTINCT or Lag—you decide: One of El’s daily adventures is figuring out what to wear. Translated into database terminology: every day El must SELECT DISTINCT.

Alternatively, El has many followers, a true influencer! Setting the trends in fashion, though the followers sometimes lag behind the latest trend. (It’s not a perfect representation of latency, but it's a little more of a challenge for the kids than a more precise model would be.)

Figure 9: 7th spread of activity book
Figure 9: A 2-page spread in An Activity Book for Postgres v3. On the left, another chance to introduce some database terminology to your children (or learn some yourself); on the right, a fun way to represent Patroni, the beloved Postgres tool.

More SQL vocabulary: You’ll find key high availability and SQL terms in this word search—offering you a great opportunity to explain these database concepts to the people in your life who are not (yet!) Postgres experts.

Patroni for High Availability: Patroni is one of the most widely-used tools for High Availability with Postgres (it uses Kubernetes.) The wide-awake elephant in the Pod in the middle is the primary or active database. The two sleeping elephants in Pods to the right and left are on standby, waiting to be activated if needed.

Would you like a copy of “An Activity Book for Postgres”?

If so, send me a DM on the Citus Public Slack. I plan to send out a copy to the first 25 people who request it (and DM me their shipping address)... but not until later in October, after I'm back from PGConf NYC (where Microsoft is a sponsor, so you can find me in the booth)!

And if you have ideas on other concepts to represent, games to play, or jokes to tell in a future V4 of the Activity Book for Postgres, please let me know.

FLIP BOOK

Gratitude

Many people had a hand in “An Activity Book for Postgres v3”. Special thanks to Isaac Alves, My Nguyen, and Eliza Fortney for bringing El to life and to Adam Wolk, Alexander Kukushkin, Carol Smith, and Claire Giordano for their careful review of the book itself, and this blog post too.

Teresa Giacomini

Written by Teresa Giacomini

Senior program manager on the Postgres team at Microsoft. Works on Postgres & Citus open source community initiatives including events, & website. Chair of POSETTE: An Event for Postgres 2024 & co-chair of PgDay San Francisco 2020. Veggie gardener.

@tgcmn