Postgres Playground

Enhance your Postgres skills

Often times the gap in trying/learning something in Postgres is having a good tangible example. The playground makes that easier by loading a datasets then guiding you step by step through an exercise leveraging that dataset in a practical way. Whether it's just the basics of interacting in the Postgres CLI with psql , improving your querying skills with SQL, or digging into performance analysis we want something for everyone to be able to level up your skills. Our guided tutorials focus on practical uses and examples as opposed to purely academic definitions.

  • psql basics

    Never seen Postgres from the command line before? Start here! We’ve loaded a sample database in for you and you’re a superuser.

  • Joins in Postgres

    Learn about inner and outer joins in this tutorial

  • Transactions

    Learn why and how to use transactions.

  • Indexing (B-Tree Indexes)

    Learn how to create a b-tree index in Postgres. No yardwork required!

  • CTEs and Window Functions

    Learn how to query data with US Birth data.

  • Query performance analytics

    A tutorial for how to find your least performant queries and a lot more query performance information

  • High level performance analysis

    A quick introduction to some of the most important Postgres performance metrics. Including cache hit ratio, index hit, and bloat.

  • Basics of PostGIS

    Test some sample spatial queries and functions with PostGIS!

  • Partitioning

    Learn how to create partitions with native Postgres and pg_partman with an IoT sample dataset.

  • Strings to Arrays

    Learn about the

  • Percentage Calculations

    Learn how to do percentage calculations in Postgres in one pass.

  • Custom data types : user defined types

    Hands on examples for composite types, enumerated types, and range types.

  • Casting Data Types

    Learn about casting data types with in-depth examples for time intervals and date and time formats.

  • Custom data types: DOMAINS

    Learn about user-defined datatypes, domain types, and how to create constraints that validate values.