Postgres Weekly Issue 55
April 23, 2014
As always, thanks to Craig Kerstiens for continuing to curate Postgres Weekly :-)
UPSERTisms in Postgres
'UPSERT' (essentially 'insert or update') missed making it into the 9.4 release but people still have ways to replicate its functionality today. Here’s a look at the potential ways of implementing UPSERT-style behavior, some detail on the risks, and performance of each.
johto's lair
Differences between Warm, Hot Standby and Streaming Replication
Postgres has had a variety of options when it comes to replication for years, but not all replication options work similarly. If you’re unclear when DBAs or others talk about warm vs. hot vs. streaming, here’s a clear cut explanation.
Baji Shaik
Coming in 9.4: Getting Medians/Quantiles/Percentiles from a Single Query
Ordered set aggregates are coming in Postgres 9.4. If you’re not entirely sure what that means, here’s one example showing how you can easily get median or event percentiles (e.g. 95/99) within a query.
David Fetter
Why is this postgres query doing a bitmap heap scan after the index scan?
A deep dive into why the Postgres planner uses one type of scan vs. another. Here’s a thorough reproducible example as well as a look into why Postgres does what it does in this case.
Markus Winand
Broadcasting PostgreSQL NOTIFY messages to Websocket Clients
Listen/Notify or Pub/Sub directly in Postgres can be powerful and useful, but most applications and frameworks don’t take advantage of it. Here’s a great example of using it with Spring.
Database Patterns
PostgreSQL Tour De Force (for .NET Developers)
Peter Shaw and Rob Sullivan present a thorough introduction to Postgres, what makes it unique, why you might want to use it as a .NET database and how to use it in a simple .NET entity framework application. (Note: No video till 1:39.)
NoSQL No More
Why does a relational system (PostgreSQL) more cost-effectively and better meet Revolv’s needs?
Matt Butcher