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

  • 13 min read

    How to Solve Advent of Code 2022 Using Postgres - Day 5

    Greg Sabino Mullane

    cargotable_moving

    Spoiler Alert!

    This article will contain spoilers both on how I solved 2022 Day 5's challenge "Supply Stacks"

    Read More
  • 5 min read

    How to Solve Advent of Code 2022 Using Postgres - Day 4

    Greg Sabino Mullane

    Spoiler Alert!

    This article will contain spoilers both on how I solved 2022 Day 4's challenge "Camp Cleanup" using SQL, as well as general ideas on how to approach the problem. I recommend trying to solve it yourself first, using your favorite language. This article is delayed from the actual puzzle's release. Also note that my solutions are seldom going to be the "best" solutions - they were solved as quickly as possible, and these articles will show my first solutions, with some minor reformatting and cleaning up.

    Hands on Tutorial

    Read More
  • 3 min read

    Postgres + Tailscale – A database you can trust with a simple VPN

    Craig Kerstiens

    If you are like us, Tailscale was an obvious tool to add to our network — as soon as we saw it, we knew we needed it. For those who haven’t tried Tailscale yet, it’s best described as a programmable, re-sizeable, distributed private network mesh. Yes, it’s that great. The better part is that Tailscale is fairly simple, and because it’s simple, it is easy to get correct.

    When we set out to build Crunchy Bridge

    Read More
  • 7 min read

    How to Solve Advent of Code 2022 Using Postgres - Day 3

    Greg Sabino Mullane

    Spoiler Alert!

    This article will contain spoilers both on how I solved 2022 Day 3's challenge "Rucksack Reorganization" using SQL, as well as general ideas on how to approach the problem. I recommend trying to solve it yourself first, using your favorite language. This article is delayed from the actual puzzle's release. Also note that my solutions are seldom going to be the "best" solutions - they were solved as quickly as possible, and these articles will show my first solutions, with some minor reformatting and cleaning up.

    Hands on Tutorial

    Read More
  • 10 min read

    How to Solve Advent of Code 2022 Using Postgres - Day 2

    Greg Sabino Mullane

    Spoiler Alert!

    This article will contain spoilers both on how I solved 2022 Day 2's challenge "Rock Paper Scissors" using SQL, as well as general ideas on how to approach the problem. I recommend trying to solve it yourself first, using your favorite language. This article is delayed from the actual puzzle's release. Also note that my solutions are seldom going to be the "best" solutions - they were solved as quickly as possible, and these articles will show my first solutions, with some minor reformatting and cleaning up.

    Hands on Tutorial

    Read More
  • 4 min read

    How to Solve Advent of Code 2022 Using Postgres - Day 1

    Greg Sabino Mullane

    Time for the annual Advent of Code challenge for 2022! If you are not familiar with AOC, every December a new puzzle is added each day, getting harder as it goes along, and the challenge is to solve it any way you can by transforming an input file into an answer. I'm going to use PostgreSQL and solve things solely with the use of SQL.

    Spoiler Alert

    Read More
  • Postgres support for JSON is 10 years old!

    Christopher Winslett

    JSON is everywhere, even in your SQL database. Since Postgres added JSON support 10 years ago, we've seen widespread adoption. When JSON support was first released in 2012 the implementation was a fairly flat representation of the JSON data type. It had limited querying and indexing capabilities. Craig

    Read More
  • Enums vs Check Constraints in Postgres

    Craig Kerstiens

    A question recently came up in the internal Crunchy Data slack channel: Does anyone actually use enums out in the wild?

    Enums in Postgres

    If you're unfamiliar with enums, they’re enumerated types, a static set of values in a database like days of the week or a shipping status. Enums are a powerful feature of Postgres that allows you to define a set of predefined values that can be assigned to a column. However, enums can have some limitations and drawbacks that make them less than ideal for certain scenarios.

    Let's look at a practical example for enums. Here we create a table with order_status

    Read More
  • 4 min read

    PostGIS Day 2022

    Elizabeth Christensen

    Crunchy Data hosted the 4th annual PostGIS Day on November 17, 2022. PostGIS Day always comes a day after GIS Day which occurs annually on the 3rd Wednesday of November.

    We had speakers from 10 different countries and attendees from more than 70 countries.

    PostGIS is the most popular

    Read More
  • Postgres Strings to Arrays and Back Again

    Paul Ramsey

    One of my favourite (in an ironic sense) data formats is the "CSV in the CSV", a CSV file in which one or more of the column is itself structured as CSV.

    Putting CSV-formatted columns in your CSV file is a low tech approach to shipping a multi-table relational data structure in a single file. The file can be read by anything that can read CSV (which is everything?) and ships around the related data in a very readable form.

    Station North,"-1,-4,-14,-15,-16,-15,-12,-9,-3,0,1,2"
    Station West,"2,4,5,6,9,10,15,16,13,12,10,9,5,3,1"
    Station East,"5,3,2,4,5,6,9,10,15,16,13,12,10,9,5,4,2,1"
    Station South,"12,18,22,25,29,30,33,31,30,29,28,25,24,23,14"
    
    Read More