---
title: "'The real billion dollar mistake is ignoring Postgres..'"
publication: "Postgres Weekly"
issue: 494
published_at: "2023-02-22"
canonical_url: "https://postgresweekly.com/issues/494"
---

Plus writing type constraints in SQL, OmniDB gets forked as PgManage, and a new TimescaleDB release. |        

#​494 — February 22, 2023 

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

Together with [![Percona logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_600,h_120/e_make_transparent/co_white,e_outline:7/iplxngwgax1ktho5k45h.png)](https://www.percona.com/ha-for-postgresql?utm_campaign=22q2-cm-campaign-pg-high-availability&utm_source=postgres-weekly&utm_content=expert-support)  

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/a2rxjszdlb7fvtwyasiz.jpg)](https://www.cybertec-postgresql.com/en/er-diagrams-with-sql-and-mermaid/)  

[Creating Entity Relatonship (ER) Diagrams with SQL and Mermaid](https://www.cybertec-postgresql.com/en/er-diagrams-with-sql-and-mermaid/) — [Mermaid](https://mermaid.js.org/) is a powerful diagramming tool that turns a basic text format (here’s [how it works for ER diagrams](https://mermaid.js.org/syntax/entityRelationshipDiagram.html)) into fully rendered visual diagrams. Can you dynamically generate such markup from SQL for Mermaid to render? Yep. 

Pavlo Golub   

💡 Mermaid is an interesting and useful tool even separate from SQL. You can [play with it 'live' here](https://mermaid.live/) or learn more at [its homepage.](https://mermaid.js.org/) Reader Ashley Peacock also has a new book out with Pragmatic Bookshelf all about it called [📗_Creating Software with Modern Diagramming Techniques._](https://pragprog.com/titles/apdiag/creating-software-with-modern-diagramming-techniques/)  [![\](https://copm.s3.amazonaws.com/47e81d3c.png)](https://www.percona.com/ha-for-postgresql?utm_campaign=22q2-cm-campaign-pg-high-availability&utm_source=postgres-weekly&utm_content=expert-support) 

[Expert Support to Architect, Build and Deploy HA Postgres](https://www.percona.com/ha-for-postgresql?utm_campaign=22q2-cm-campaign-pg-high-availability&utm_source=postgres-weekly&utm_content=expert-support) — Whether you need a pre-build consultation, want us to build your HA infrastructure for you, or are looking for ongoing, post-build support, Percona can help you meet your HA goals. 

Percona sponsor   

[Type Constraints in 65 Lines of SQL](https://supabase.com/blog/type-constraints-in-65-lines-of-sql) — Creating validated data types in Postgres isn’t particularly difficult and can come in handy for enforcing your specific schema. Oliver demonstrates how to create a type to represent semantic version numbers. 

Oliver Rice (Supabase)   

[Unlogged Tables: Faster, But Less Reliable, Tables](https://www.crunchydata.com/blog/postgresl-unlogged-tables) — Unlogged tables in Postgres can give you a big performance improvement if your use case can deal with the downsides, as Greg explores here. Maybe think of them as persistent temporary tables? 

Greg Sabino Mullane   

[Object Ownership and Default Privileges](https://www.red-gate.com/simple-talk/uncategorized/postgresql-basics-object-ownership-and-default-privileges/) — Covers the concept of ownership and default privileges, explaining how they can be used for effective management of permissions and security in a database by giving just the right amount of access to certain objects. 

Ryan Booz   

**IN BRIEF:** 

- Yugabyte's Frits Hoogland has been interviewed as [this week's _PostgreSQL Person of the Week._](https://postgresql.life/post/frits_hoogland/)
- 📅 The [schedule for PGDay/MED 2023](https://www.postgresql.eu/events/pgdaymed2023/schedule/) has been published and [registration is now open.](https://www.postgresql.eu/events/pgdaymed2023/news/pgdaymed-2023-schedule-published-and-registration-open-78/) It takes place in Malta this April.
- The [PostgreSQL Extension Network (PGXN)](https://pgxn.org/) is a central place to post releases of open source Postgres extensions and releases are now [published on Mastodon](https://botsin.space/@pgxn) if you want to follow along that way.   

▶[The Ever-Growing Ecosystem of Postgres with Álvaro Hernandez](https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/the-ever-growing-ecosystem-of-postgres-with-alvaro-hernandez/) — A 35-minute podcast with Álvaro, the founder of OnGres, a Postgres services company, well known for his contributions to the community. He talks about running Postgres on Kubernetes, tooling complexity, and Postgres’s wire protocol as the heart of an ecosystem. 

Screaming in the Cloud podcast   

▶[Postgres System Columns Explained](https://www.youtube.com/watch?v=AveRgUrC7FM) — A 25-minute video digging into ctid, xmin and xmax columns. These are [system columns](https://www.postgresql.org/docs/9.1/ddl-system-columns.html) that can be used when investigating the behaviors of transactions. Fun digging! 

Hussein Nasser   

[Improve Logical Replication Performance in Amazon Aurora with the New Write‑Through Cache](https://aws.amazon.com/blogs/database/improve-logical-replication-performance-in-amazon-aurora-postgresql-with-the-new-write-through-cache/) 
Susan Douglas and Scott Mead (AWS)   

[Using an Oracle Database Gateway to Connect Amazon RDS Custom for Oracle to Postgres](https://aws.amazon.com/blogs/database/using-an-oracle-database-gateway-to-connect-amazon-rds-custom-for-oracle-to-postgresql/) 
Fernando da Cruz and Harper (AWS)   

[UUIDs vs Serials for Keys](https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/) 
Christophe Pettus    

🛠 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/tpq9efiqilndjqunet2l.jpg)](https://www.commandprompt.com/blog/announcing-pgmanage-10a/)  

[PgManage 1.0a: GUI Administration Tool for Postgres](https://www.commandprompt.com/blog/announcing-pgmanage-10a/) — A new fork of the seemingly abandoned OmniDB that's a cross-platform command-line tool for managing Postgres 9.6–15. [GitHub repo.](https://github.com/commandprompt/pgmanage) _(Slightly painful to run on macOS due to not being signed, but it is in alpha.)_ 

CommandPrompt Inc.   

[TimescaleDB 2.10: The Time Series Database Extension](https://github.com/timescale/timescaledb/releases/tag/2.10.0) — Now with full Postgres 15 support, reworking of how compression works (with notable improvements to `INSERT` rates), and you can now use joins in continuous aggregates. 

Timescale   

[Beginner’s Guide to DevOps Tools (GitHub, Jenkins, Terraform, Ansible)](https://linode.github.io/beginners-guide-to-devops-tools/) 

Akamai Connected Cloud sponsor   

[SQLite Foreign Data Wrapper for Postgres](https://github.com/pgspider/sqlite_fdw) — Supports Postgres 11-15 and recent SQLite versions. Requires a Linux or POSIX-compliant system. 

PGSpider   

[pg-semver: A Semantic Version Data Type](https://github.com/theory/pg-semver) — An implementation of the version number format specified by the [Semantic Versioning 2.0.0 Specification.](https://semver.org/spec/v2.0.0.html) 

David E. Wheeler, et al.   

😆 It's a total coincidence this popped up on our radar the same week as the [type constraints in 65 lines of SQL](https://supabase.com/blog/type-constraints-in-65-lines-of-sql) article (above).  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zj4owpguidazys5hx4hb.jpg)](https://sosedoff.github.io/pgweb/)  

- [Pgweb 0.14](https://sosedoff.github.io/pgweb/)
 ↳ Web-based Postgres database browser.
- [pgModeler 1.0.1](https://github.com/pgmodeler/pgmodeler) – Visual data modelling tool.
- [plpgsql_check 2.3.1](https://github.com/okbob/plpgsql_check) – PL/pgSQL linter.
- [Bun 1.1.12](https://github.com/uptrace/bun) – SQL-first ORM for Go.
- [vsql 0.26](https://github.com/elliotchance/vsql) – A database written in the [V programming language](https://vlang.io/) that offers Postgres protocol compatibility.
- [PostgreSQL JDBC 42.5.4](https://www.postgresql.org/about/news/postgresql-jdbc-4254-released-2599/)    

🐦 Seen on Twitter 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/h0w9arvfhhv6xn4k5gaz.jpg)](https://twitter.com/rakyll/status/1626654547702857730)   

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