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

  • Easy PostgreSQL Time Bins

    Paul Ramsey

    It's the easiest thing in the world to put a timestamp on a column and track when events like new records or recent changes happen, but what about reporting?

    Binning data for large data sets like time series is a great way to let you group data sets by obvious groups and then use SQL to pull out a query that easily works in a graph.

    Here's some PostgreSQL secrets that you can use to build up complete reports of time-based data.

    Earthquake Data

    Read More
  • Introduction to Postgres Backups

    Philip Hurst

    Backups in the database world are essential. They are the safety net protecting you from even the smallest bit of data loss. There’s a variety of ways to back up your data and this post aims to explain the basic tools involved in backups and what options you have, from just getting started to more sophisticated production systems.

    pg_dump/pg_restore

    Read More
  • The Integer at the End of the Universe: Integer Overflow in Postgres

    Jesse Soyland

    Integer overflow occurs when a computer program tries to store an integer but the value being stored exceeds the maximum value that can be represented by the data type being used to store it. We have helped a few Crunchy Data clients navigate this recently and wanted to write up some notes.

    In Postgres, there are three integer types:

    • smallint
    Read More
  • Geocoding with Web APIs in Postgres

    Jacob Coblentz

    Geocoding is the process of taking addresses or location information and getting the coordinates for that location. Anytime you route a new location or look up a zip code, the back end is geocoding the location and then using the geocode inside other PostGIS functions to give you the routes, locations, and other data you asked for.

    PostGIS comes equipped with an easy way to use the US Census data with the Tiger geocoder

    Read More
  • Postgres Raster Query Basics

    Paul Ramsey

    In geospatial terminology, a "raster" is a cover of an area divided into a uniform gridding, with one or more values assigned to each grid cell.

    rows and columns showing how a raster works with a pixel

    A "raster" in which the values are associated with red, green and blue bands might be a visual image. The rasters that come off the Landsat 7

    Read More
  • 7 min read

    What's Postgres Got To Do With AI?

    Christopher Winslett

    Note: We have additional articles in this Postgres AI series.

    In the past month at Crunchy Data, we have talked to a steady stream of customers & community folks wanting to know how to augment their data platforms for AI. Fortunately, Postgres is equipped, nearly out of the box, and ready for the task of storing and querying this data. Through the magic of OpenAI’s API we can easily send data for classification and return the values.

    Alongside this post, I created a sample code-base and data packet here

    Read More
  • PostgreSQL Unlogged Tables - Look Ma, No WAL!

    Greg Sabino Mullane

    While supporting customers at Crunchy Data, I sometimes see users add unlogged tables. In this post, I'm going to review some of the specifics about this.

    Unlogged tables in Postgresql are a way of preventing specific tables from generating WAL (Write Ahead Log) information by adding the unlogged

    Read More
  • Postgres WAL Files and Sequence Numbers

    Brian Pace

    The Postgres Write Ahead Log (WAL) is a functional component to the database. WAL makes a lot of key functionality possible, like Point-in-Time-Recovery backups

    Read More
  • 6 min read

    Temporal Filtering in pg_featureserv with CQL

    Martin Davis

    In a previous post we announced the CQL filtering capability in pg_featureserv. It provides powerful functionality for attribute and spatial

    Read More
  • Exposing Postgres Performance Secrets

    Craig Kerstiens

    We spend a lot of time at Crunchy Data helping people dig into the performance of their Postgres. If you're setting up a new Postgres database or already running on in production there are a number of very basic steps you can take that will save your tail in the future when it comes to investigating performance. Here is your guide that'll take less than 5 minutes to get in place. Future you will thank you for doing this today.

    1. Use pg_stat_statements to record queries

    Read More