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

Posts about Production Postgres

  • Postgres Data Flow

    David Christensen

    At Crunchy we talk a lot about memory, shared buffers, and cache hit ratios. Even our new playground tutorials can help users learn about memory usage. The gist of many of those conversations is that you want to have most of your frequently accessed data in the memory pool closest to the database, the shared buffer cache.

    There's a lot more to the data flow of an application using Postgres than that. There could be application-level poolers and Redis caches in front of the database. Even on the database server, data exists at multiple layers, including the kernel and various on-disk caches. So for those of you that like to know the whole story, this post pulls together the full data flow for Postgres reads and writes, stem-to-stern.

    Application Server

    Read More
  • Generate Unlimited Crypto Using Postgres!

    Paul Ramsey

    Ha ha, made you look!

    This post is not a crazy scam (you be the judge) but just a practical description of using cryptographical algorithms to encrypt and decrypt data inside PostgreSQL.

    Encryption in Crunchy Bridge

    There's already a lot of encryption in Crunchy Bridge

    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
  • Postgres Locking: When is it Concerning?

    David Christensen

    When using monitoring tools like PgMonitor or pganalyze, Crunchy clients will often ask me about high numbers of locks and when to worry. Like most engineering-related questions, the answer is: "it depends".

    In this post, I will provide a little more information about locks, how they are used in PostgreSQL, and what things to look for to spot problems vs high usage.

    PostgreSQL uses locks in all parts of its operation to serialize or share access to key data. This can come in the form of two basic types of locks: shared or exclusive.

    • Shared locks

    Read More
  • Phases of Database Growth and Cost

    Christopher Winslett

    TL;DR: keep your data-layer simple, you'll need the agility it offers when budgets get stretched.

    Over the past 12 years of helping people run databases for their businesses, I have discovered that there are only 2 financial phases in the lifecycle of a database:

    • Phase 1: Absolute costs are low, thus marginal costs do not matter.
    • Phase 2
    Read More
  • Exporter2Perfdata - Connecting Postgres Monitoring Tools

    Yogesh Sharma

    pgMonitor is a popular open source monitoring tool based on Prometheus, Exporters, and Grafana. We have many customers leveraging pgMonitor when using the Crunchy Postgres for Kubernetes

    Read More
  • Postgres Query Optimization: LEFT JOIN vs UNION ALL

    David Christensen

    Introduction

    The PostgreSQL optimizer is an amazing thing, getting only more amazing with each release. It is able to take information about your data definitions, your data distribution, constraints, and the specific queries and come up with the generally most efficient way to return the results of that query.

    Since SQL is a declarative language, we're explicitly giving up defining how

    Read More
  • Postgres Traceability: Use SQL Comments Like a Stacktrace

    Christopher Winslett

    Have you traced a sql statement back to the source application? Of course you have! Was it time consuming? Probably! SQL queries can hide in plain sight.

    If you've read through any of Crunchy's advice on query performance

    Read More
  • Demystifying Database Performance for Developers

    Christopher Winslett

    For many developers, databases are basically magic. Like Penn & Teller, this blog post is set to break the illusion. Databases are just like any other code, they have algorithms and processes. These algorithms and processes are meant to improve performance, but can cause limitations if they are not expected.

    Disclaimer

    Read More
  • Five Tips For a Healthier Postgres Database in the New Year

    Craig Kerstiens

    It's been a busy year building Crunchy Bridge and we've shipped a lot of new awesome things. Instead of doing a wrap-up of all the growth and exciting features, instead I wanted to take the time to try to teach a few more things to those that follow us. While onboarding customer after customer this year I've noted a few key things everyone should put in place right away - to either improve the health of your database or to save yourself from a bad day.

    Set a statement timeout

    Read More