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

Latest posts from Craig Kerstiens

  • 6 min read

    Crunchy Data Warehouse: Postgres with Iceberg Available for Kubernetes and On-premises

    Craig Kerstiens

    Today I'm excited to announce the release of Crunchy Data Warehouse on premises, which provides one of the easiest and yet richest ways to work with your data lake in the environment of your choosing. Built on top of Crunchy Postgres for Kubernetes, Crunchy Data Warehouse extends Postgres with a modern data warehouse solution, giving you: • The ability to easily query data where it resides in S3 or S3 compatible storage (like MinIO). With a variety of data formats supported including CSV, JSO...

    Read More
  • 5 min read

    Reducing Cloud Spend: Migrating Logs from CloudWatch to Iceberg with Postgres

    Craig Kerstiens

    As a database service provider, we store a number of logs internally to audit and oversee what is happening within our systems. When we started out, the volume of these logs is predictably low, but with scale they grew rapidly. Given the number of databases we run for users on Crunchy Bridge, the volume of these logs has grown to a sizable amount. Until last week, we retained those logs in AWS CloudWatch. Spoiler alert: this is expensive. While we have a number of strategies to drive efficiency...

    Read More
  • 9 min read

    Citus: The Misunderstood Postgres Extension

    Craig Kerstiens

    Citus is in a small class of the most advanced Postgres extensions that exist. While there are many Postgres extensions out there, few have as many hooks into Postgres or change the storage and query behavior in such a dramatic way. Most that come to Citus have very wrong assumptions. Citus turns Postgres into a sharded, distributed, horizontally scalable database (that's a mouthful), but it does so for very specific purposes. Citus, in general, is fit for these type of applications and only the...

    Read More
  • 8 min read

    A change to ResultRelInfo - A Near Miss with Postgres 17.1

    Craig Kerstiens

    Version 17.2 of PostgreSQL has now released which rolls back the changes to ResultRelInfo. See the release notes for more details. Since its inception Crunchy Data has released new builds and packages of Postgres on the day community packages are released. Yesterday's minor version release was the first time we made the decision to press pause on a release. Why did we not release it immediately? There appeared to be a very real risk of breaking existing installations. Let's back up and walk...

    Read More
  • 4 min read

    pg_parquet: An Extension to Connect Postgres and Parquet

    Craig Kerstiens

    Today, we’re excited to release pg_parquet - an open source Postgres extension for working with Parquet files. The extension reads and writes parquet files to local disk or to S3 natively from Postgres. With pg_parquet you're able to: • Export tables or queries from Postgres to Parquet files • Ingest data from Parquet files to Postgres • Inspect the schema and metadata of existing Parquet files Export tables or queries from Postgres to Parquet files Ingest data from Parquet files to Postgres I...

    Read More
  • 1 min read

    Announcing the Scheduler for Crunchy Bridge

    Craig Kerstiens

    Today we're excited to announce a new scheduler for Crunchy Bridge. Scheduler makes it easy for you to create and manage automated database maintenance tasks such as: • Refreshing materialized views • Performing automated roll-ups from raw data • Running partitioning maintenance tasks (run pg_partman automatically) • Archiving or pruning old data Refreshing materialized views Performing automated roll-ups from raw data Running partitioning maintenance tasks (run pg_partman automaticall...

    Read More
  • 3 min read

    Row Level Security for Tenants in Postgres

    Craig Kerstiens

    Row-level security (RLS) in Postgres is a feature that allows you to control which rows a user is allowed to access in a particular table. It enables you to define security policies at the row level based on certain conditions, such as user roles or specific attributes in the data. Most commonly this is used to limit access based on the database user connecting, but it can also be handy to ensure data safety for multi-tenant applications. We're going to assume our tenants in this case are part o...

    Read More
  • 4 min read

    Migrate from Heroku Postgres to Crunchy Bridge

    Craig Kerstiens

    While database migrations are not an everyday thing for you, they are for us. Migrating to a new database provider isn't something you ever take lightly. Once you've come to the decision that you may want to migrate then you look at the time and effort cost of switching, only to wonder if it's really worth it. You decide it is, and still you're left with uncertainty of what-if: • What about Postgres versions? • What about Postgres extensions? • What about collations? • How do you minimize cutove...

    Read More
  • 5 min read

    Crunchy Bridge: Announcing Postgres Insights in Your CLI

    Craig Kerstiens

    Today we're excited to release a big update to our Crunchy Bridge CLI: a new interactive menu for psql! Now when connecting to your Crunchy Bridge database with you'll have a option. The menu is an easy to navigate collection of insights about your database. All of these insights are powered by data already contained in Postgres system catalogs. We have these same database insights in the dashboard, so this feature extends that to those working directly from the command line. Before we add...

    Read More
  • 3 min read

    Citus for Postgres on Any Cloud: Announcing Citus Support for Crunchy Bridge

    Craig Kerstiens

    I'm excited to announce support for the Citus extension for Postgres on Crunchy Bridge . This means you can have a fully managed Citus experience on any cloud (AWS, Azure, or GCP) managed by the Postgres experts at Crunchy Data. If you're unfamiliar with Citus it's an extension to PostgreSQL that turns Postgres into a distributed/sharded, horizontally scalable database. Citus excels with multi-tenant workloads, real time analytics use cases, and handling time series data. While the core of Ci...

    Read More