Introducing Crunchy Data Warehouse: A next-generation Postgres-native data warehouse. Crunchy Data Warehouse Learn more

  • 5 min read

    PGO 4.7, the Postgres Operator: PVC Resizing, GCS Backups, and More

    Jonathan S. Katz

    We're excited to announce the new version of PGO , the open source Postgres Operator from Crunchy Data version 4.7! There's a lot of really cool features that make it easy to deploy production Postgres clusters on Kubernetes. In this release, we focused on adding enhancements around "Day 2" operations (e.g. PVC resizing), allowing for backups to be stored in Google Cloud Storage ( GCS ), improvements to monitoring, and included more Postgres extensions ! Let's take a quick tour of all of...

    Read More
  • 4 min read

    Waiting for PostGIS 3.2: ST_InterpolateRaster

    Paul Ramsey

    A common situation in the spatial data world is having discrete measurements of a continuous variable. Every place in the world has a temperature, but there are only a finite number of thermometers: how should we reason about places without thermometers and how should we model temperature? For many use cases, the right way to model a continuous spatial variable is a raster: a regularly spaced grid where each square in the grid contains a value of the variable. This works for temperature and prec...

    Read More
  • 7 min read

    TLS for Postgres on Kubernetes: OpenSSL CVE-2021-3450 Edition

    Jonathan S. Katz

    Not too long ago I wrote a blog post about how to deploy TLS for Postgres on Kubernetes in attempt to provide a helpful guide from bringing your own TLS/PKI setup to Postgres clusters on Kubernetes. In part, I also wanted a personal reference for how to do it! However, some things have changed since I first wrote that post. OpenSSL released a fix for CVE-2021-3450 (courtesy to my colleague Tom Swartz for reminding me of this) that prevents users from bypassing some of the x509 certificate...

    Read More
  • Creating a Read-Only Postgres User

    Jonathan S. Katz

    A recent (well depending on when you read this) Twitter discussion mentioned the topic of creating the quintessential "read-only Postgres user" that can, well, only read info from a database, not write to it. A simple way to handle this case is to create a read-only Postgres replica, but that may not make sense based on your application. So, how can you simply create a read-only Postgres user (and note that I will use "user" and "role" interchangeably)? Let's explore! If you have managed users i...

    Read More
  • 6 min read

    (The Many) Spatial Indexes of PostGIS

    Paul Ramsey

    Spatial indexes are used in PostGIS to quickly search for objects in space. Practically, this means very quickly answering questions of the form: • "all the things inside this this" or • "all the things near this other thing" "all the things inside this this" or "all the things near this other thing" Because spatial objects are often quite large and complex (for example, coastlines commonly are defined with thousands of points), spatial indexes use "bounding boxes" as index and search keys: •...

    Read More
  • Using Kubernetes? Chances Are You Need a Database

    Paul Laurence

    Whether you are starting a new development project, launching an application modernization effort, or engaging in digital transformation, chances are you are evaluating Kubernetes. If you selected Kubernetes, chances are you will ultimately need a database . Kubernetes provides many benefits for running applications including efficiency, automation, or infrastructure abstraction. These features allow you to deploy highly availability databases and scale, making it easier to manage hardware f...

    Read More
  • Choice of Table Column Types and Order When Migrating to PostgreSQL

    Stephen Frost

    Contributing author David Youatt An underappreciated element of PostgreSQL performance can be the data types chosen and their organization in tables. For sites that are always looking for that incremental performance improvement, managing the exact layout and utilization of every byte of a row (also known as a tuple) can be worthwhile. This is an important consideration for databases that are migrating from other databases to PostgreSQL as the data types available in PostgreSQL and how th...

    Read More
  • 4 min read

    Announcing Google Cloud Support for Crunchy Bridge

    Craig Kerstiens

    Reality is messy, and for every, "We've standardized on cloud Amazon, Azure, or GCP" announcement, there are tens or hundreds of apps hidden within an organization running on the "other" cloud. Most workloads don't span across clouds, but every large organization has workloads on each cloud vendor. And for everyone's favorite database (Postgres) we're excited to say you don't have to compromise quality when it comes to which cloud vendor you're running on. Today we're announcing Crunchy Bridge...

    Read More
  • Your Guide to Connection Management in Postgres

    Craig Kerstiens

    Connection pooling and management is one of those things most people ignore far too long when it comes to their database. When starting out, you can easily get by without it. With 1 or 2 application servers spawning 5-10 connections, even the tiniest of Postgres servers can handle such. Even with our $35 a month hobby plan on Crunchy Bridge , we can push 5,000 transactions per second through which is quite a bit for < 20 connections. As you grow into the hundreds, better connection management...

    Read More
  • Postgres is Out of Disk and How to Recover: The Dos and Don'ts

    Elizabeth Christensen

    Additional Contributors: David Christensen, Jonathan Katz , and Stephen Frost Welp… sometimes “stuff” happens… and you find yourself having a really bad day. We'd like to believe that every database is well configured from the start with optimal log rotation, correct alerting of high CPU consumption and cache hit ratio monitoring… But that isn't always the case. Part of our job here at Crunchy is to help on the bad days in addition to preparing you to ensure those never happen. One frustrati...

    Read More