Crunchy Data joins Snowflake.  Read the announcement

  • Database Terminology Explained: Postgres High Availability and Disaster Recovery

    Elizabeth Christensen

    In my day to day, I'm surrounded by great database engineers. They talk about things like HA and raft protocol and the right and wrong approach for configuring synchronous vs. asynchronous replication. There is a lot of value in all that deep technical knowledge, but for when interacting with customers, I like to boil it down a bit. What I've seen is that for many folks the basics of key database principles can get lost in the details. What follows is a summary of conversations I've had with cus...

    Read More
  • 6 min read

    Is Postgres Secure?

    Paul Laurence

    With the rise of Postgres, new organizations are evaluating how to benefit from its power and flexibility . As that evaluation progresses, Postgres advocates must address the question, "Is Postgres secure?" There are a variety of ways to answer this question, but the short answer is a confident "Yes!" At Crunchy Data, we often collaborate with organizational stakeholders to address this question. Many organizations have used the same collection of databases for years (maybe decades). The id...

    Read More
  • 6 min read

    Performance Improvements in GEOS

    Paul Ramsey

    We at Crunchy Data put as much development effort into improving GEOS as we do improving PostGIS proper, because the GEOS library is so central to much geospatial processing. The GEOS library is a core piece of PostGIS. It is the library that provides all the "hard" computational geometry functionality: • Intersections of geometry • Unions of geometry • Differences of geometry • Buffers of geometry • Geometry relationship evaluation Intersections of geometry Unions of geometry Differences of...

    Read More
  • Explaining Your Postgres Query Performance

    Kat Batuigas

    In a previous post, I talked about pg_stat_statements as a tool for helping direct your query optimization efforts. Now let's say you've identified some queries you want to look into. The EXPLAIN command helps you look even closer into an individual query. If you're already proficient in EXPLAIN, great! Read on for an easy refresher. If you're less familiar with it, this will be a (hopefully) gentle introduction on what insights it might help provide. I'm going to demonstrate simple EXPLAIN...

    Read More
  • 20 min read

    Musings of a PostgreSQL Data Pontiff Episode 2 - Hot Magick; Analytics and Graphical Output with PL/R

    Joe Conway

    Welcome to Episode 2 of the "Musings of a PostgreSQL Data Pontiff" series! In this installment I’m aiming to achieve three objectives. First, you should see how the SQL language, as implemented by PostgreSQL , can perform interesting data analysis through the built-in aggregates and other capabilities such as Common Table Expressions (CTEs) and Window Functions . Second, you will get to see how native SQL combines with R code in PL/R in useful ways. And finally, I’ll show how to use PL/R to...

    Read More
  • 6 min read

    Musings of a PostgreSQL Data Pontiff Episode 1

    Joe Conway

    This is the first in a series of blogs on the topic of using PostgreSQL for "data science". I put that in quotes because I would not consider myself to be a practicing data scientist, per se. Of course I'm not sure there is a universally accepted definition of data scientist. This article provides a nice illustration of my point. I do believe my credentials are such that no one can accuse me of term appropriation. Toward establishment of that end, this first installment is a walk down memory l...

    Read More
  • 6 min read

    Announcing the Crunchy Postgres Operator 4.6.0 with rolling updates, pod tolerations, node affinity and more

    Jonathan S. Katz

    Please Note: This post references an older version of the Crunchy Postgres for Kubernetes. See PGO Documentation for the latest version. The Crunchy Data team announced the latest release of our open source PostgreSQL Operator for Kubernetes 4.6 a few weeks back. So let's take a whirlwind tour of how we make it easy to run production-quality Postgres on Kubernetes. With this release, we included features to streamline management of the Operator, added security features, and extra system metric...

    Read More
  • 4 min read

    Enhancing PostgreSQL 13 Security with the CIS Benchmark

    Douglas Hunley

    Crunchy Data has recently announced an update to the CIS PostgreSQL Benchmark by the Center for Internet Security , a nonprofit organization that provides publications around standards and best practices for securing technologies systems. This newly published CIS PostgreSQL 13 Benchmark joins the existing CIS Benchmarks for PostgreSQL 9.5, 9.6, 10, 11, and 12 while continuing to build upon the PostgreSQL Security Technical Implementation Guide (PostgreSQL STIG ). A CIS Benchmark is a set...

    Read More
  • 4 min read

    Helm, GitOps and the Postgres Operator

    Jonathan S. Katz

    This post provides guidance for v4x. For the latest on PGO, GitOps and Helm installer, please see: https://github.com/CrunchyData/postgres-operator-examples/tree/main/helm In the previous article , we explored GitOps and how to apply GitOps concepts to PostgreSQL in a Kubernetes environment with the Postgres Operator and custom resources. The article went on to mention additional tooling that has been created to help employ GitOps principles within an environment, including Helm . While the m...

    Read More
  • 6 min read

    Fuzzy Name Matching in Postgres

    Paul Ramsey

    A surprisingly common problem in both application development and analysis is: given an input name, find the database record it most likely refers to. It's common because databases of names and people are common, and it's a problem because names are a very irregular identifying token. The page " Falsehoods Programmers Believe About Names " covers some of the ways names are hard to deal with in programming. This post will ignore most of those complexities, and deal with the problem of matching up...

    Read More