---
title: "The Tetris effect"
publication: "Postgres Weekly"
issue: 569
published_at: "2024-09-11"
canonical_url: "https://postgresweekly.com/issues/569"
---

Plus a web UI for Postgres backups, understanding mailing list jargon, and Postgres 17 RC1. |        

#​569 — September 11, 2024 

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

Together with [![Blacksmith\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_820,h_100/e_make_transparent/co_white,e_outline:17/uq9yvkqtinkixhiq19mf.png)](https://blacksmith.sh/?utm_source=cooperpress&utm_medium=exclusive_primary&utm_campaign=sep-06&utm_term=postgres)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xa03n16p8xueitspvzyv.jpg)](https://github.com/nuno-faria/tetris-sql)  

[Tetris-SQL: Using SQL's Turing Completeness to Build Tetris](https://github.com/nuno-faria/tetris-sql) — An implementation of _Tetris_ in just [a few](https://github.com/nuno-faria/tetris-sql/blob/main/game.sql) SQL queries on Postgres! As well as being an impressive bit of work, it’s also educational, as Nuno takes time to walk through the implementation details in the README. 

Nuno Faria   

[Postgres 17 Release Candidate 1 Released](https://www.postgresql.org/about/news/postgresql-17-rc1-released-2926/) — If you’ve been uncertain about running any of the betas, now is a good time to kick the tires, as the release candidates tend to be largely identical to the final release. The final release is expected on September 26 (we may delay _Postgres Weekly_ that week, due to this). 

PostgreSQL Global Development Group   [![\](https://copm.s3.amazonaws.com/5b73549a.png)](https://blacksmith.sh/?utm_source=cooperpress&utm_medium=exclusive_primary&utm_campaign=sep-06&utm_term=postgres) 

[Run GitHub Actions Up to 2x Faster at Half the Cost](https://blacksmith.sh/?utm_source=cooperpress&utm_medium=exclusive_primary&utm_campaign=sep-06&utm_term=postgres) — Blacksmith runs your GitHub Actions substantially faster by running them on modern gaming CPUs. Integrating Blacksmith is a one-line code change. 100+ companies like Ashby, Superblocks, and Slope use Blacksmith to help developers merge code faster. 

Blacksmith sponsor   

[Shrinking Big Postgres Tables: Copy-Swap-Drop](https://andyatkinson.com/copy-swap-drop-postgres-table-shrink) — If you’ve got a big unwieldy table with only a subset of its data in active use but you _don’t_ want to partition the table or perform lots of `DELETE` operations, you could copy the rows you want to keep into a new table, rename the new table, and drop the original one. 

Andrew Atkinson   

**QUICK BITS:** 

- Aaron Francis and xata are releasing a Postgres video course next month called [Mastering Postgres](https://masteringpostgres.com/) but what's noteworthy is the rather punchy [promo video for it on X.](https://x.com/aarondfrancis/status/1833533150674268469)😁
- [ParadeDB's Philippe Noël](https://postgresql.life/post/philippe_noel/) is this week's _PostgreSQL Person of the Week_ interviewee.   

[How Neon Dynamically Estimates Postgres’ Working Set Size](https://neon.tech/blog/dynamically-estimating-and-scaling-postgres-working-set-size) — ‘Working set’ refers to the data that’s used/read/written by a system over a specific time period. Figuring out what the current ‘working set’ of a Postgres server is is actually quite difficult, but essential to do if you want to do autoscaling, as serverless platform Neon now can. 

Em Sharnoff (Neon)   

[Understanding the Postgres Hackers Mailing List](https://www.crunchydata.com/blog/understanding-the-postgres-hackers-mailing-list) — If you want to get involved with Postgres development or otherwise have a deep interest in following along with developments, the [pgsql-hackers list](https://www.postgresql.org/list/pgsql-hackers/) is the place to be. As a busy, highly technical list, there’s a lot of in-house jargon, which Greg explains here. 

Greg Sabino Mullane   

[Why `SELECT * FROM Table` is Not Merely a 'Read'](https://www.cybertec-postgresql.com/en/why-select-from-table-is-not-a-read/) — Surely selecting all of the content from a table is a read operation that can be safely load balanced? Not so fast, says Hans, who comes armed with a counter-example. 

Hans-Jürgen Schönig   

📄 [Implementing Filtered Semantic Search Using pgvector and JavaScript](https://www.timescale.com/blog/implementing-filtered-semantic-search-using-pgvector-and-javascript/) Team Timescale 

📄 [Writing a Good Talk Proposal](https://vondra.me/posts/writing-a-good-talk-proposal/) – From someone who’s written a lot of proposals for Postgres events. Tomas Vondra 

📄 [How to Get Info About Relations Between System Tables](http://okbob.blogspot.com/2024/09/how-to-get-info-about-relations-between.html) Pavel Stěhule   

🛠 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ce19jlksglrpqd99jo4h.jpg)](https://github.com/eduardolat/pgbackweb)  

[PG Back Web 0.3: A Postgres Backup System with Web Interface](https://github.com/eduardolat/pgbackweb) — A Go-powered app for bringing a bit more of a friendly user interface to Postgres backups, as well as scheduled backups, backup monitoring, and webhooks. It’s available as a Docker image too. 

Luis Eduardo       

📰 Classifieds   

[Redgate Software](https://redgate.research.net/r/postgrestools) is researching how Postgres users utilise database tools. [Please complete our short survey to share your views](https://redgate.research.net/r/postgrestools). 

--- 

[Dragonfly (25k GitHub stars)](https://www.dragonflydb.io/?utm_campaign=cooperpress_postgres_sep24&utm_source=cooper_press&utm_medium=email&utm_content=Postgres%20Weekly) is a modern Redis replacement. Organizations that switch to Dragonfly can see 25X performance improvements. 

--- 

New [PostgreSQL partnership](https://passdatacommunitysummit.com/about/news/postgres-conference-seattle/?utm_source=postgresweekly&utm_medium=email&utm_campaign=es-202411-pass-summit-pg-weekly-ad-sept-em-all) announced between PASS Data Community Summit and Postgres Conference Seattle this November.      

[pgcopydb 0.17: Copy a Postgres Database to a Target Postgres Server](https://github.com/dimitri/pgcopydb) — Automates and provides a little structure around the running of `pg_dump | pg_restore` between two running Postgres servers. 

Dimitri Fontaine   

[PL/Haskell 4.0: Use Haskell in Your SQL Functions](https://github.com/ed-o-saurus/PLHaskell) — Haskell is a _functional_ language but you can, nonetheless, use it to define procedures in such a way that Postgres can work with. 

Edward F. Behn, Jr.   

- [PLV8 3.2.3](https://github.com/plv8/plv8) – Use the V8 JavaScript engine in Postgres. This version bump introduces Postgres 17 support.
- [pgrx 0.12.3](https://github.com/pgcentralfoundation/pgrx) – A way to build Postgres extensions with Rust. Now supports Postgres 17 RC1.
- [pgxmock 4.3](https://github.com/pashagolub/pgxmock) – Mock driver to test database interactions in Go.
- [ruby-pg 1.5.8](https://github.com/ged/ruby-pg) – The Postgres client library for Ruby    

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