Ludicrous Speed Postgres

A Postgres performance optimization course focused on optimizing your schema and database usage.

Forget lightspeed. You need ludicrous speed. If you have put off learning how to optimize your Postgres database because you thought it would take too long or would be too hard, wait no more. I designed this course to be the most efficient way to turn you into a Postgres performance master. Whether you need to optimize certain areas of your application or want to drop your overall database utilization, this course can help. Feel more confident, experience significant wins and become the hero of your team.

Enroll Now

Who is this course for?

Senior Developers

If you have put off learning how to best leverage the Postgres database you use everyday or want to take your knowledge to the next level, this course is a perfect fit for you. Some of my consulting engagements have resulted in query improvements by as much as 1,000 to 10,000 fold. Imagine the type of impact that could have in your organization.

Junior Developers

Do you use Postgres? Do you want to leap frog your fellow developers in terms of optimizing performance? With today's "big data" there is no better way than learning how to optimize your use of your Postgres database. If you have not had experience with a multi-terabyte database with billions of rows for some tables, that is what we will be using in this course to demonstrate optimization methods.

Database Administrator (Even Accidental?)

While this course will not be covering PostgreSQL configuration much if at all, we will give advice on schema changes, index selection and statement usage to get the most performance out of your database. Use this knowledge to help drop your database's CPU and disk activity. Some of my consulting engagements have resulted in dropping CPU utilization from 80% to 20% during active periods.

If any of these sound like you, you are in the right place!

By the end of course you will have . . .

Big Data Experience

You will have learned how to optimize a multi-terabyte database — some tables with billions of rows.

A Big Win Toolkit

If your database hasn't had much optimization and is large enough, you could find 10X, 100X or even 1,000X gains.

A Cost Reduction Toolkit

One of the benefits of optimization is that you can defer database upgrades or even potentially downgrade your DB.

An Optimization Framework

You will be getting my framework and thought processes on how I approach optimization challenges.

Benchmarking Guidelines

You will get the guidelines and techniques I use to validate the performance optimizations proposed.

More Confidence

Don't be intimidated by Postgres, learn the steps you can take to improve performance and become the hero of your team.
  • Image
    “This course got me to spend time focusing on database performance. I managed to get 10-100x speedups on some of our slower queries. I also implemented better database maintenance with respect to vacuuming and reindexing.”
    Ellis Whitehead

Become a Postgres Performance Master

6 monthly payments
Buy Now

1 payment
Buy Now
  • Image
    “This was a really great course. I definitely suggest to anyone that they should take it if they care about Postgres performance. The wealth of knowledge broken down into lessons was really top grade. Each lesson is really hands on and you get to do the practice of performance optimization.”
    Tom Dyer
  • Image
    “This course is superior to others because Creston only shows the things that are important for a DBA or developer to optimize performance. The content showcased the exact work of someone looking to optimize Postgres performance. Very useful!”
    Rustam Allakov
  • Image
    “My biggest win was learning all about the depth and detail of the different indexes and data types. The part about arrays blew my mind.”
    Raul Giucich
  • Image
    “This course got me to spend time focusing on database performance. I managed to get 10-100x speedups on some of our slower queries. I also implemented better database maintenance with respect to vacuuming and reindexing.”
    Ellis Whitehead
  • Image
    “Just wanted to let you know that I made the changes to the database this morning, and the performance is fantastic. Thanks for your insight!”
    Darin Haener
  • Image
    “Whew. My DBA, @CrestonJamison from, saved our bacon last wk. I highly recommend him for Rails & Postgres work.”
    Rob Walling
    Founder of Drip
  • Image
    Previous Ansible Course: “I’ve read many different blog posts and tutorials on Rails deployment and server config, and your series was what finally helped me construct a working solution and deploy my first non-Heroku app! Really appreciate your very clear, well explained instructions.”
    Joshua Steele
  • Image
    Previous Ansible Course: “The course is very well explained and all the commands are in the outline. In addition, it not only covers server setup, but also security (ssl) and a database backup strategy. At the end of the course, you have a server that is secure with a backup plan.”
    Anthony Candaele

What's inside the course?

Get started with the right mindset. Discover the conceptual framework and thought processes I use for addressing performance issues with Postgres.

Lesson Examples:
check_circle_outline Optimization Framework
check_circle_outline Do Less Work
check_circle_outline Robbing Peter To Pay Paul
check_circle_outline Course Database Installation

Get a solid grasp of all the different ways you can use Btree indexes. They are the most common index type and offer many ways to boost performance.

Lesson Examples:
check_circle_outline Multi-Column Indexes
check_circle_outline Partial Indexes
check_circle_outline Expression Indexes
check_circle_outline Index-Only Scans & Covering Indexes

Properly optimizing indexes requires addressing vacuum and analyze as well as statistics. We also cover reindexing and removing unused indexes.

Lesson Examples:
check_circle_outline Vacuum
check_circle_outline Statistics & Analyze
check_circle_outline Extended Statistics
check_circle_outline Reindexing

Using the right data type and index type can lead to better performance. We discuss the use of the different data types and the indexes that support them.

Lesson Examples:
check_circle_outline Data Type Decisions
check_circle_outline Array & Range Data Types
check_circle_outline GIN & GIST Indexes
check_circle_outline BRIN & Hash Indexes

Large amounts of text and JSON data can be challenging. We discuss techniques for doing text searching as well as JSON as well as index types to use.

Lesson Examples:
check_circle_outline Btree Text Search
check_circle_outline Full Text Search (tsvector)
check_circle_outline Fuzzy / Similar / Partial Text Search
check_circle_outline JSONB Search

Sometimes you need to employ different solutions to address issues. We discuss things such as lateral joins, distinct on, CTEs and keyset pagination.

Lesson Examples:
check_circle_outline Lateral Joins
check_circle_outline Union, Intersect, Except
check_circle_outline CTE & Materialization
check_circle_outline Paging & Keyset Pagination

Excessive data changes can tank your performance. We discuss how to handle large insert or update loads as well as how to do bulk loading.

Lesson Examples:
check_circle_outline Too Many Inserts
check_circle_outline Too Many Updates
check_circle_outline Too Many Deletes
check_circle_outline Bulk Loading

Eventually, you will need to use different data handling solutions to get the best performance such as partitioning or summarization / aggregate tables.

Lesson Examples:
check_circle_outline Partitioning
check_circle_outline Materialized Views
check_circle_outline Summary Tables
check_circle_outline Real-Time Aggregates

Bonus #1: One Year of Weekly LIVE Q&A

check_circle_outline Get an opportunity to ask me questions live.

check_circle_outline See what others in the course are working on or the issues they are encountering.

check_circle_outline Cannot make a session? Post your question ahead of time.

Bonus #2: Two Terabyte Example Database

check_circle_outline Things can start getting slow at hundreds of GBs, but TBs is where it gets interesting.

check_circle_outline Some tables have billions of rows.

check_circle_outline This example DB was built as accurately as I could. I built it using a Faker library. No generate_series or pgbench in this DB.

Bonus #3: Online Community

check_circle_outline You don't have to go through the course alone.

check_circle_outline Interact with your fellow students to give or get advice.

check_circle_outline I will be checking in on the community at least once a day.

check_circle_outline Stay motivated to complete the course!

Bonus #4: Unlocking AI with pg_vector

check_circle_outline Learn how to get started with pg_vector.

check_circle_outline Test different indexes for querying embeddings.

check_circle_outline We will use data from all 300+ episodes of Scaling Postgres.

check_circle_outline Delivered at the conclusion of the course.


Become a Postgres Performance Master

6 monthly payments
Buy Now

1 payment
Buy Now

30-Day Guarantee

I know this might be a large investment for you. But, it is an investment in your knowledge and capabilities. With this 30-day guarantee, you should be able to complete three modules of course. You also would have had the opportunity to take part in the community and particpate in the live Q&As. I sincerely believe this course can transform you into a Postgres hero for your team. But, if you are participating in the course and not satisfied, I will gladly give you a full refund up to 30 days after purchase. More Details.


Who am I?

Hi! I am Creston Jamison. I got started using Microsoft SQL Server in the late 1990's, switched to Oracle in the early 2000's and have been using PostgreSQL since about 2008 (over 15 years!). About 8 years ago I started doing PostgreSQL consulting. I started "Scaling Postgres" (my weekly show on scaling Postgres) in 2018. I just hit a huge milestone by recording my 300th episode!

I help clients optimize the performance of their PostgreSQL databases. I have helped clients find 10,000 fold performance wins and helped them manage their multi-terabyte databases with trillions of rows.


Can you describe the course experience?

The course includes 8 modules of video lessons delivered over 8 weeks, access to an online community with fellow students, access to the two terabyte example database and access to the live Q&A's.

Course modules will be released on a week by week basis to give you time to work through the lessons and ask questions during the live Q & As. Don't worry if you cannot make a given Q & A since you can post your questions ahead of time and they will be answered.

What if I am not ready to start today?

No problem! You will have access to this version of the course for a minimum of two years and access to Q & A sessions for a minimum of one year. You have plenty of time to get the course done.

Do you offer a payment plan?

Yes, a six month payment plan is available.

Do I have to know anything about Postgres?

Yes. This is an advanced course and I will assume you have some basic knowledge of SQL and Postgres. If you want a kickstart, here are two free courses. First, to get up to speed with SQL, you can take my free course SQL Boot Camp. Second, to gain some pre-requisite Postgres knowledge, you can take this course: PostgreSQL Performance Starter Kit.

How long will I have access to this course?

You will have access to the current version of the course for a minimum of two years.

Do you offer refunds?

Of course! If you are participating in the course and not satisfied, email within 30 days of your purchase date to request a refund. More details can be found in our Terms of Use.

What if I have another question?

Email any other questions you have about the course to


Become a Postgres Performance Master

6 monthly payments
Buy Now

1 payment
Buy Now