---
title: "🐘 Why Postgres's mascot is an elephant"
publication: "Postgres Weekly"
issue: 505
published_at: "2023-05-10"
canonical_url: "https://postgresweekly.com/issues/505"
---

Plus Citus 11.3, forcing table join order, and Florian's upgrade party. |        

#​505 — May 10, 2023 

[Web Version](https://postgresweekly.com/issues/505)  

Together with [![Crunchydata\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_430,h_100/e_make_transparent/co_white,e_outline:7/xyflkz7n00elwtgja9ne.png)](https://www.crunchydata.com/?utm_source=cp-pm-0503)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mjopwyiate0kffqafrlk.jpg)](https://www.youtube.com/playlist?list=PLlrxD0HtieHgf43JaI0A1VPpxEMTZGLNH#cituscon2023)  

▶[The Citus Con 2023 Talks](https://www.youtube.com/playlist?list=PLlrxD0HtieHgf43JaI0A1VPpxEMTZGLNH#cituscon2023) — Microsoft recently put on their second annual virtual Postgres conference, and while I haven’t had time to watch many of these yet (so watch out for more direct recommendations over the next few issues) there’s a lot to enjoy with 37 talks now available on YouTube. 

Citus Con 2023   

[How to Force a Join Order in Postgres](https://www.cybertec-postgresql.com/en/forcing-a-join-order-in-postgresql/) — Despite Postgres not having an inherent ‘query hint’ feature ([here’s why](https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion)), it’s still possible to force the query optimizer to use a certain join order when joining tables under certain circumstances. 

Laurenz Albe   [![\](https://copm.s3.amazonaws.com/f9805e2a.png)](https://www.crunchydata.com/?utm_source=cp-pm-0503) 

[Can Postgres Do That?](https://www.crunchydata.com/?utm_source=cp-pm-0503) — The answer is often yes. Just Postgres can do a lot. Not a “Postgres” compatible imitation, actual Postgres. Want a provider that can assist you? We’re here to help. 

Crunchy Data sponsor   

[How to Track Performance Differences with `pg_stat_statements`](https://blog.rustprooflabs.com/2023/05/pg-stat-statements-performance-differences) — How to track the impact of configuration changes to a specific workload using the venerable [pg_stat_statements module.](https://www.postgresql.org/docs/current/pgstatstatements.html) 

Ryan Lambert   

Michael Christofides also has [some helpful queries you can use](https://www.pgmustard.com/blog/queries-for-pg-stat-statements) to get the most out of `pg_stat_statements`.  

**IN BRIEF:** 

- [This week's PostgreSQL Person of the Week](https://postgresql.life/post/floor_drees/) is the fabulous _Floor Drees_, who once [got a piggyback](https://twitter.com/FloorDrees/status/1638949200875364360) from Postgres's mascot.
- 🐘 Talking of Postgres's elephant mascot.. did you know it's called Slonik? [Here's some history on its development](https://vertabelo.com/blog/the-history-of-slonik-the-postgresql-elephant-logo/) include _why_ being an elephant is relevant to Postgres.
- [Christophe Pettus asked ChatGPT](https://thebuild.com/blog/2023/05/09/dont-use-chatgpt-to-solve-problems/) 40 questions about Postgres and.. the results were not good: _"LLMs are not a replacement for expertise."_
- ["Why on earth would I put PostgreSQL in Azure?"](https://www.scarydba.com/2023/05/08/why-put-postgresql-in-azure/)   

[Building AI-Powered Search using Amazon SageMaker and pgvector](https://aws.amazon.com/blogs/database/building-ai-powered-search-in-postgresql-using-amazon-sagemaker-and-pgvector/) — As hyped as the AI space is right now, there are some fascinating ways to take advantage of recent developments, including in Postgres. Using complex vectors and embeddings as a way to perform similiarity searches is now reasonably straightforward. In this case, AWS takes centre stage with SageMaker providing the embeddings. 

Krishna Sarabu (AWS)   

[Performance Tips Using Postgres and pgvector](https://www.crunchydata.com/blog/pgvector-performance-for-developers) 
Christopher Winslett   

[Various Restoration Techniques Using Point-In-Time Recovery](https://www.highgo.ca/2023/05/09/various-restoration-techniques-using-postgresql-point-in-time-recovery/) — Not something you ever _want_ to do, but it’s worth running through the process in case you need it one day. 

Tristen Raab   

[How to Submit a Patch by Email, 2023 Edition](http://peter.eisentraut.org/blog/2023/05/09/how-to-submit-a-patch-by-email-2023-edition) — An update of [a similar post](https://petereisentraut.blogspot.com/2009/09/how-to-submit-patch-by-email.html) _14 years ago_ but to modern “nowadays we use `git`” standards. 

Peter Eisentraut   

[Best Practices for Optimizing Postgres Query Performance (eBook)](https://pganalyze.com/ebooks/optimizing-postgres-query-performance?utm_source=PostgresWeeklySecondary05102023) 

pganalyze sponsor   

[Let’s Party and Upgrade Postgres and PostGIS Together](https://www.cybertec-postgresql.com/en/upgrade-postgresql-postgis-together/) — Florian’s idea of a party is a bit different from mine, but nonetheless, here’s one way to approach a Postgres 13 + PostGIS 2.5.5 to 15/3.3.2 upgrade. 

Florian Nadler   

[Use DOMAIN Rules to Validate Columns of Data](https://aiven.io/developer/use-postgresql-domain-rules-to-validate) — A [domain](https://www.postgresql.org/docs/current/sql-createdomain.html) is a data type with optional constraints. 

Francesco Tisiot   

[Running Postgres on Two Ports?](https://thebuild.com/blog/2023/05/03/running-postgresql-on-two-ports/) — Don’t. Or, if you must, use a third party tool. 

Christophe Pettus    

Code and Tools  

[What’s New in Citus 11.3 for Multi-Tenant SaaS Workloads](https://www.citusdata.com/blog/2023/05/05/whats-new-in-citus-11-3-multi-tenant-saas/) — [Citus](https://www.citusdata.com/) is well established as a way to add distributed tables to Postgres. A common use case is building multi-tenant apps with tables distributed by tenant. Citus 11.3 introduces tenant _monitoring_ providing visibility into per-tenant query counts and CPU usage over a configurable time period. 

Marco Slot (Citus Data)   

[HeidiSQL 12.5: A Native Windows App for Database Work](https://www.heidisql.com/) — If you’re on Windows, HeidiSQL is a handy, open source database management tool. Supports Postgres, MySQL, SQL Server, and SQLite. Written in Delphi and is [open source.](https://github.com/HeidiSQL/HeidiSQL) 

Ansgar Becker   

- [FerretDB 1.1](https://github.com/FerretDB/FerretDB)
 ↳ MongoDB alternative using Postgres for storage.
- [Bob 0.21](https://github.com/stephenafamo/bob)
 ↳ SQL query builder and ORM for Go.
- [Prisma 4.14](https://github.com/prisma/prisma)
 ↳ Popular ORM for Node.js and TypeScript.    

**Got a new email?** You can [change your address here](https://postgresweekly.com/edit_subscription/*|UID|*). 

--- 

**Bored of us?** [Click here to stop getting Postgres Weekly](https://postgresweekly.com/leave/*|UID|*). 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. Thanks! 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada. 

[Stop getting this newsletter.](https://postgresweekly.com/leave/*|UID|*)
