Crunchy Data joins Snowflake.  Read the announcement

  • 5 min read

    Introducing the Crunchy Bridge CLI

    Craig Kerstiens

    Many years ago a group of colleagues and I latched onto this idea of flow and what it means for developer experiences. Flow was one of those things that was always hard to measure, but you could tell when it was right or wrong. It wasn’t about KPIs or deploy metrics, but it was about the overall efficiency of the process. A big part of flow when it came to DX was a great CLI experience. A great CLI is intuitive, it allows you to work efficiently while building on simplicity. A great CLI can be...

    Read More
  • 8 min read

    Projecting Monthly Revenue Run Rate in Postgres

    Jonathan S. Katz

    Monthly recurring revenue ( MRR ) and annual recurring revenue ( ARR ) are important metrics for a subscription-based business model. It allows for the business to project its available capital to make important decisions around expansion, hiring and more. In an on-demand subscription model, MRR can fluctuate on any given day. This is especially true in the cloud-services world, where people are constantly spinning up and down services. That's why it makes sense to try and capture what the su...

    Read More
  • 11 min read

    Multi-Cluster Postgres Federation on Kubernetes with Postgres 14 Using GitOp

    Jonathan S. Katz

    One of the reasons why I like deploying Postgres on Kubernetes with PGO , the open source Postgres Operator , is that it makes it easier to set up distributed database systems. One example is using Postgres for edge computing , and you can build an edge computing architecture with both Postgres and Debezium on Kubernetes. You can also do some fun things with logical replication and many read/write nodes. I posted an example of doing this last year about how you could set up an active...

    Read More
  • 4 min read

    Crunchy Bridge: UI Refresh, In-place Upgrades, Postgres 14

    Craig Kerstiens

    It's been a little over a year since we launched Crunchy Bridge. We've been busy over the past year, focusing on the foundations of Crunchy Bridge , ensuring solid resiliency, reducing our high availability failover times, making upgrades seamless and smooth. There has been a lot of activity over the past few months so we thought it was time for an update. Consider this the first of many more to come on what we're up to. First, a little on how we think about Postgres and databases in general....

    Read More
  • 7 min read

    PostgreSQL 14 on Kubernetes (with examples!)

    Jonathan S. Katz

    Last week PostgreSQL 14 became generally available to the public . The release contains a lot of cool stuff, including features that I can appreciate from my application development background like better JSON and multirange types . There are also a lot of little things that make PostgreSQL 14 a really cool release, and I encourage you to explore the release notes to find a feature that will make your life easier . Crunchy Bridge , our managed service available on Amazon, Microsoft, and...

    Read More
  • 6 min read

    Devious SQL: Dynamic DDL in PostgreSQL

    David Christensen

    Supporting PostgreSQL DBAs is an important part of daily life here at Crunchy Data . I’ve recently run across a few use cases where utility queries based on the current state of the database are needed. A simple example could be where you have a table that is the target of logical replication and the column becomes out of sync with the sequence that generated the data. This would result in new rows having primary key conflicts. To correct this issue, you would need to set the sequence to gene...

    Read More
  • Postgres 14: It's The Little Things

    Craig Kerstiens

    A lot of years Postgres will have some big pillar or theme to the release. Often this is thought of after the fact. Everything that is committed is looked at and someone thinks, "This is the key thing to talk about." In Postgres 9.2 it was JSON , in 9.4 it was JSONB, in 10 it was logical replication , 12 was a broader performance theme. While I look forward to each of these big highlights, in each release I'm equally excited to browse through and pull out the small things that simply make my l...

    Read More
  • 7 min read

    Querying Spatial Data with PostGIS and ogr_fdw

    Kat Batuigas

    In my last post, I did a simple intro to foreign data wrappers in PostgreSQL . postgres_fdw is an extension available in Postgres core that allows you to issue queries against another Postgres database. It's just one of many foreign data wrappers that you can use in Postgres, so for today's post we'll look at another that works especially well with spatial data formats: ogr_fdw. I had also previously talked about some different ways to get spatial data into a Postgres/PostGIS database , but...

    Read More
  • 8 min read

    Devious SQL: Message Queuing Using Native PostgreSQL

    David Christensen

    An interesting question came up on the #postgresql IRC channel about how to use native PostgreSQL features to handle queuing behavior. There are existing solutions for queuing, both in PostgreSQL, with the venerable pgq project, or dedicated message queues like RabbitMQ, Kafka, etc. I wanted to explore what could be done with native Postgres primitives and I thought this warranted an entry in my Devious SQL series . So what makes up a minimal queuing solution? Effectively, we need the followi...

    Read More
  • Insert-Only Tables and Autovacuum Issues Prior to PostgreSQL 13

    David Christensen

    Generally, one appreciates new features of PostgreSQL on the release date after anxious inspection of the release notes or having skimmed through the git logs. Every once in a while, particularly when dealing with an older version of PostgreSQL, you will discover a feature that didn't get the necessary fanfare in order to come to your attention, but when you discover it, you're all the happier for it. I recently ran into an issue with some strange performance issues on a client's PostgreSQL...

    Read More