---
title: "Putting your money where your SQL is"
publication: "Postgres Weekly"
issue: 526
published_at: "2023-10-18"
canonical_url: "https://postgresweekly.com/issues/526"
---

Plus pgbouncer gains prepared statement support, and RDS's new network optimized instances. |        

#​526 — October 18, 2023 

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

Together with [![EdgeDB\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_300,h_136/e_make_transparent/co_white,e_outline:7/jlunqvivvabxwct0nb30.png)](https://www.edgedb.com/launch?lang=ts)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ipt6vr1vss3fj89nfjkk.jpg)](https://www.crunchydata.com/blog/working-with-money-in-postgres)  

[Working with Money in Postgres](https://www.crunchydata.com/blog/working-with-money-in-postgres) — Did you know Postgres has [a `money` type?](https://www.postgresql.org/docs/current/datatype-money.html) Elizabeth doesn’t recommend it though, and looks at some alternative approaches. There’s also a [live environment](https://www.crunchydata.com/developers/playground/working-with-money-in-postgres) if you want to play with the ideas raised in the post in your browser. 

Elizabeth Christensen (Crunchy Data)   

[PostgresqlCO.NF: Postgres Config Settings for Humans](https://postgresqlco.nf/doc/en/param/) — A helpful online reference guide to Postgres’ various parameters from basics like [`log_statement`](https://postgresqlco.nf/doc/en/param/log_statement/) and [`application_name`](https://postgresqlco.nf/doc/en/param/application_name/), through to things recently added in v16 like [`createrole_self_grant`](https://postgresqlco.nf/doc/en/param/createrole_self_grant/) and [`debug_parallel_query`](https://postgresqlco.nf/doc/en/param/debug_parallel_query/). 

OnGres, Inc.   [![\](https://copm.s3.amazonaws.com/a1148dc7.png)](https://www.edgedb.com/launch?lang=ts) 

[Strongly Typed and in the ⛅: Meet EdgeDB 4.0](https://www.edgedb.com/launch?lang=ts) — EdgeDB is an open-source database focused on developer experience. It features a high-level, modern data model, integrated schema migrations, and a TypeScript query builder that makes it easy to write advanced, fast queries, putting ORMs to shame. 

EdgeDB sponsor   

[How to Reduce Your Postgres Database Size](https://www.timescale.com/blog/how-to-reduce-your-postgresql-database-size/) — Being on the Timescale blog, this articles does lean towards Timescale-specific features in a few places, but also explains broad, general concepts like pages, tuples, dead tuples, and table bloat, and mitigations for some common database size problems. 

Paulus and Soto (Timescale)   

**IN BRIEF:** 

- Bruce Momjian [celebrates Postgres's multi-modal nature,](https://momjian.us/main/blogs/pgblog/2023.html#October_17_2023) comparing it to _peanut butter and chocolate._
- Cloud platform Vercel has [made its _Vercel Postgres_ offering generally available](https://vercel.com/changelog/vercel-postgres-is-now-available-for-pro-users) and reduced the prices from its beta period. The service is powered by [Neon](https://neon.tech/) behind the scenes.
- If you're a Ruby on Rails developer, you should be aware of [all the new Postgres goodies in Rails 7.1](https://www.crunchydata.com/blog/postgres-goodies-in-ruby-on-rails-7-1) which was released last week.
- Amazon RDS [supports new M6in, M6idn, R6in and R6idn _network optimized_ instances](https://aws.amazon.com/about-aws/whats-new/2023/10/amazon-rds-postgresql-mysql-mariadb-m6-r6-instances/) with throughput of up to 200Gbps.
- Supabase has added [a FDW for loading data from Airtable](https://supabase.com/docs/guides/database/extensions/wrappers/airtable) into Supabase Postgres databases.
- 📅 The [PASS Data Community Summit 2023](https://passdatacommunitysummit.com/) takes place in Seattle next month. There are many Postgres sessions and speaker Ryan Lambert, who has [a talk about using PostGIS](https://passdatacommunitysummit.com/sessions/1515/) on the schedule, [hopes to see you there.](https://blog.rustprooflabs.com/2023/10/pass-2023-coming-soon)
- 📅 pgDay Paris 2024 [is looking for sponsors.](https://2024.pgday.paris/sponsors/)   

[Killing Long Running Queries](https://www.cybertec-postgresql.com/en/kill-long-running-queries-in-postgresql/) — Long running queries are rarely welcome, but it's possible to detect and terminate them. `statement_timeout` can also be used to automatically remove them after a certain period of time. 

Hans-Jürgen Schönig   

[Using Vim As My Postgres Client](https://trstringer.com/postgres-client-vim/) — Through piping a file into `psql`. 

Thomas Stringer   

[Watch 5 Mins of Postgres: Weekly Postgres Videos by pganalyze](https://www.youtube.com/@pganalyze6516/videos) 

pganalyze sponsor   

[Easy Email Tokens in Pure Postgres](https://taylor.town/pg-email-token) 
Taylor Troesh    

Code and Tools  

[Postgres.js 3.4: Fast, Full-Featured Postgres Client for JavaScript Platforms](https://github.com/porsager/postgres) — Now working with several JavaScript platforms (Node, Deno, Bun, and, as of [this release](https://github.com/porsager/postgres/releases/tag/v3.4.0), _Cloudflare_), this high performance Postgres library offers realtime change subscription, dynamic query building via special template literals, high availability support via multi-host connection URLs, async cursors, and more. 

Rasmus Porsager   

[PgBouncer: Lightweight Connection Pooler for Postgres](https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0) — Despite being v1.21.0, this is a significant release as it **adds support for protocol-level named prepared statements** ([more on how that works.](https://www.pgbouncer.org/config.html#max_prepared_statements)) 

PgBouncer   

[pg_yregress: TAP-Compatible Test Execution](https://github.com/omnigres/omnigres/tree/master/pg_yregress) — A TAP-compatible test executor that allows for better test organization and tool standardization (versus `pg_regress` where `psql` sessions are run and the tests are implemented by comparing expected and actual output on stdout). 

Omnigres   

[SQLite Foreign Data Wrapper for Postgres v2.4](https://github.com/pgspider/sqlite_fdw) — Requires a Linux or POSIX-compliant system, but now supports Postgres 16 and works with [SQLite 3.42.0](https://www.sqlite.org/releaselog/3_42_0.html). 

PGSpider   

[GatewayD: Like an API Gateway, But for Databases](https://gatewayd.io/) — An L4 proxy for SQL databases and clients so you can extend things with plugins (self written or community provided), observability and connection pooling. Postgres only for now, built in Go, and AGPL licensed. 

GatewayD Labs   

- [JSONb Accessor 1.4](https://github.com/madeintandem/jsonb_accessor) – Adds typed JSONB backed fields to ActiveRecord models in Ruby on Rails.
- [pgRoll 0.3](https://github.com/xataio/pgroll) – Zero-downtime migrations made easy for Postgres 14+.
- [Que 2.3](https://github.com/que-rb/que) – Ruby job queue that uses Postgres advisory locks.
- [pgrx 0.11](https://github.com/pgcentralfoundation/pgrx) – A way to build Postgres extensions with Rust.    

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