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

  • 3 min read

    Crunchy Postgres for Kubernetes 5.2 Launch

    Greg Nokes

    We are excited to announce the release of Crunchy Postgres for Kubernetes version 5.2. We have been hard at work on a lot of new features we cannot wait to get into your hands. You can get started on version 5.2 from our container portal

    Read More
  • Postgres Migration Pitstop: Collations

    Jesse Soyland

    At Crunchy Data we spend a lot of time helping customers migrate their databases. Migrating Postgres tends to be a very straightforward process. Yet there can still be a few gotchas that can catch you off-guard if you are not prepared to deal with them. From some recent experiences with customers migrating to Crunchy Bridge

    Read More
  • 5 min read

    Crazy Idea to Postgres in the Browser

    Joey Mezzacappa

    We just launched our Postgres Playground. Running Postgres in the web browser was not exactly commonplace before, so naturally, people are wondering how it works.

    It actually started as a fun weekend experiment. Here's a screenshot I saved, just moments after recovering from the initial "whoa, it's working!" effect.

    Screenshot of PostgreSQL running in the Chrome web browser

    The next morning, I shared this screenshot in our internal Slack channel for web frontend engineering. Our mental gears began to turn as we imagined what might (and might not) be possible. After a bit of work, we built upon some interesting ideas, and this fun weekend hack evolved into what is now the Postgres Playground

    Read More
  • Learn Postgres at the Playground

    Craig Kerstiens

    Today I'm excited to introduce a new place for devs to polish their Postgres skills, a Postgres Playground and Tutorials from Crunchy Data. What is the playground? Put simply it is:

    1. Postgres running in your local web browser
    2. With canned datasets you can load
    3. Guided tutorials to follow along to learn about the power of Postgres
    Read More
  • Rise of the Anti-Join

    Paul Ramsey

    Find me all the things in set "A" that are not in set "B".

    diagram of foreign key references between tables

    This is a pretty common query pattern, and it occurs in both non-spatial and spatial situations. As usual, there are multiple ways to express this query in SQL, but only a couple queries will result in the best possible performance.

    Setup

    Read More
  • 3 min read

    Crunchy Bridge Terraform Provider

    Elizabeth Christensen

    In a world where everything is stored in git following IaC (infrastructure as code) you may want the same from your database. For many following this style of engineering modernization we see a focus on IaC and K8s. We have many users standardizing on our PGO

    Read More
  • 5 min read

    Accelerating Spatial Postgres: Varnish Cache for pg_tileserv using Kustomize

    Rekha Khandhadia

    Recently I worked with one of my Crunchy Data PostgreSQL clients on implementing caching for pg_tileserv. pg_tileserv is a lightweight microservice to expose spatial data to the web and is a key service across many of our geospatial customer sites. pg_tileserv can generate a fair amount of database server load, depending on the complexity of the map data and number of end users, so putting a proxy cache such as Varnish in front of it is a best practice. Using Paul Ramsey's Production PostGIS Vector Tiles Caching

    Read More
  • 8 min read

    Partitioning with Native Postgres and pg_partman

    Elizabeth Christensen

    Vanilla Postgres has native partitioning?

    Yes! And it's really good!

    We frequently get questions like: Can Postgres handle JSON? Can Postgres handle time series data? How scalable is Postgres? Turns out the answer is most usually yes! Postgres, vanilla Postgres, can handle whatever your need is without having to go to a locked in proprietary database. Unless you're really close to the Postgres internals and code releases you might have missed that Postgres natively has partitioning. Our head of product, Craig

    Read More
  • Postgres Indexing: When Does BRIN Win?

    Paul Ramsey

    The PostgreSQL BRIN index is a specialized index for (as the documentation says) "handling very large tables in which certain columns have some natural correlation with their physical location within the table".

    For data of that sort, BRIN indexes offer extremely low insert costs (good for high velocity data) and extremely small index sizes (good for high volume data).

    But what data has this "natural correlation"?

    Most frequently, data with a timestamp that is continuously adding new rows.

    • A log table
    • A table of GPS track points
    • A table of IoT sensor measurements
    Read More
  • Choosing a PostgreSQL Number Format

    Paul Ramsey

    It should be the easiest thing in the world: you are modeling your data and you need a column for some numbers, what type do you use?

    PostgreSQL offers a lot of different number types, and they all have advantages and limitations. You want the number type that is going to:

    • Store your data using the smallest amount of space
    • Represent your data with the smallest amount of error
    • Manipulate your data using the correct logic
    Read More