---
title: "Now you can write Postgres functions in Rust"
publication: "Postgres Weekly"
issue: 500
published_at: "2023-04-05"
canonical_url: "https://postgresweekly.com/issues/500"
---

Plus a look at SQL:2023, using the MongoDB FDW, and Google's on-prem version of AlloyDB. |        

#​500 — April 5, 2023 

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

Together with [![EDB\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_308,h_100/e_make_transparent/co_white,e_outline:7/vrltbo1rhou91lmjw2rl.png)](https://info.enterprisedb.com/WhitePaperPostgres-BDRTheNextGenerationofPostgreSQLHighAvailability.html?utm_medium=display&utm_source=postgres-weekly&utm_content=ha-whitepaper&utm_campaign=GL-CT-20210811--Postgres-BDR-The-Next-Generation-of-PostgreSQL-High-Availability)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yw3wd7naizflpl0tpinh.jpg)](https://github.com/tcdi/plrust/releases/tag/v1.0.0)  

[PL/Rust 1.0: Write Postgres Functions in Rust](https://github.com/tcdi/plrust/releases/tag/v1.0.0) — This is particularly exciting as PL/Rust functions are not interpreted in the way PL/pgSQL or PL/Python functions are, but are _compiled to native machine code._ This gives extension-style levels of performance in a more dynamic form. I suspect we’ll see a lot of progress and use cases for this soon. [More info here.](https://tcdi.github.io/plrust/) 

Technology Concepts and Design, Inc.   [![\](https://copm.s3.amazonaws.com/b4a1a6fe.png)](https://info.enterprisedb.com/WhitePaperPostgres-BDRTheNextGenerationofPostgreSQLHighAvailability.html?utm_medium=display&utm_source=postgres-weekly&utm_content=ha-whitepaper&utm_campaign=GL-CT-20210811--Postgres-BDR-The-Next-Generation-of-PostgreSQL-High-Availability) 

[How to Get Up to Five 9s Uptime with Next Generation Postgres](https://info.enterprisedb.com/WhitePaperPostgres-BDRTheNextGenerationofPostgreSQLHighAvailability.html?utm_medium=display&utm_source=postgres-weekly&utm_content=ha-whitepaper&utm_campaign=GL-CT-20210811--Postgres-BDR-The-Next-Generation-of-PostgreSQL-High-Availability) — Near-zero downtime is mission-critical for so many industries. Learn how to reduce risk and improve productivity and customer satisfaction with multi-master replication and data distribution via advanced conflict management and data-loss protection. 

EDB sponsor   

[SQL:2023 is Done, But What's New?](https://peter.eisentraut.org/blog/2023/04/04/sql-2023-is-finished-here-is-whats-new) — The latest version of the SQL standard is now with the so called ‘ISO gods’ and will be published in due course. No database follows SQL standards _precisely_ but it can be useful to see what’s new as features in the standard tend to filter into Postgres over time (or vice versa, as seen with a `JSON` type just being added to the spec). 

Peter Eisentraut   

[Google Offers Version of AlloyDB That Runs 'Anywhere'](https://cloud.google.com/blog/products/databases/run-alloydb-anywhere) — Google [first unveiled](https://cloud.google.com/blog/products/databases/introducing-alloydb-for-postgresql) _AlloyDB for PostgreSQL_ a year ago, as a managed Postgres-compatible service vaguely similar in ethos to Amazon Aurora but from Google. They now have a preview of _AlloyDB Omni_, a downloadable edition of AlloyDB designed to run _off_ of Google’s cloud. 

Google Cloud Blog   

[The Ultimate Guide to Citus Con: An Event for Postgres](https://www.citusdata.com/blog/2023/03/31/ultimate-guide-to-citus-con-2023/) — [Citus Con](https://www.citusdata.com/cituscon/2023/) is a free, online Postgres event being put on by the Postgres team at Microsoft Azure across April 18-19. In this post, you can learn more about everything that’s on offer, or maybe let Claire [▶️ convince you in video form?](https://www.youtube.com/shorts/NujyLhklIrI) 

Claire Giordano   

**IN BRIEF:** 

- Lætita Avrot is in charge of this week's [PGSQL Phriday](https://www.pgsqlphriday.com/) where she [invites you to write a blog post about triggers](https://mydbanotebook.org/post/triggers/) by this Friday. We look forward to featuring some of them next week.
- [Katharine Saar](https://postgresql.life/post/katharine_saar/) is this week's _PostgreSQL Person of the Week._
- 🤡 We're always glad when April 1st doesn't fall on a newsletter day, but there were some April Fool's jokes for Postgres nonetheless such as Azure Database's [support for the pg_carbonara extension](https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/introducing-support-for-pg-carbonara-extension-in-postgresql/ba-p/3779351) that can help you cook the famous Italian dish.   

[Hydra: Introducing Updates and Deletes on Columnar Postgres](https://blog.hydra.so/blog/2023-03-02-columnar-updates-and-deletes) — [Hydra](https://github.com/hydradatabase/hydra) is a Postgres-powered data warehouse / OLAP system billed as an “open source Snowflake alternative.” They’ve now released the latest part of the puzzle: supporting updates and deletes on otherwise immutable and append only columnar storage, and this post explains how. [GitHub repo.](https://github.com/hydradatabase/hydra) 

Jonathan Dance (Hydra)   

[Row Locks in Postgres](https://www.cybertec-postgresql.com/en/row-locks-in-postgresql/) — Laurenz quickly covers the four different types of row lock (as opposed to table lock) in Postgres, why you’d pick certain ones, and how they work under the hood. All very accessible and useful stuff to know. 

Laurenz Albe   

[Representing Time Ranges without Overlapping](https://sqlfordevs.com/non-overlapping-time-ranges) — Guaranteeing non-overlapping time ranges (for e.g. hotel bookings) is not easy because of race conditions. Postgres’s exclusion constraints and range types can help though. 

Tobias Petry   

[A Special Illustrated Postgres Migration Story](https://www.crunchydata.com/case-studies/uscreen?utm_source=cppg-brf-0405) 

Crunchy Bridge sponsor   

[Assigning Blame for Postgres Errors](http://rhaas.blogspot.com/2023/04/assigning-blame-for-postgresql-errors.html) — Error messages in Postgres’s logs may not always be the fault of the database alone. Robert looks at cases where user error or operating system issues might come into play. 

Robert Haas   

[Easy Mongo from Your Postgres](https://www.crunchydata.com/blog/easy-mongo-from-your-postgres) — An exploration of the benefits of pairing MongoDB and Postgres by way of the MongoDB foreign data wrapper (which is now supported by all new Crunchy Bridge deployments). 

Christopher Winslett (Crunchy Data)   

[Go Integration Tests with Postgres](https://www.storj.io/blog/go-integration-tests-with-postgres) — A look at a few ways to use Postgres in testing scenarios, each with their own pros and cons. 

Egon Elbre   

[Aurora Database Authorization using Role-Based Access Control](https://aws.amazon.com/blogs/database/amazon-aurora-postgresql-database-authorization-using-role-based-access-control/) 
Pinyani and Lonappan (AWS)    

**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|*)
