Introducing Database Traffic Control™: resource budgets for your Postgres query traffic.Learn more
Navigation

Blog


By Simeon Griggs |

Dead tuples from high-churn job queues can silently degrade your Postgres database when vacuum falls behind—especially alongside competing workloads. Traffic Control keeps cleanup on track.


By Josh Brown |

Practical patterns for leveraging Database traffic Control


By Ben Dicken |

Not all traffic is created equal.When a database is overwhelmed, you want the important queries to keep executing, even if that means shedding lower-priority work.This is a much better outcome than the alternative: a total database outage.


By Simeon Griggs |

A high memory percentage in PlanetScale Postgres is not necessarily a problem. Let's compare how memory and CPU usage are different, how not all memory usage is created equal, and which signals actually require attention.


By Rafer Hazen |

Introducing query tagging improvements in Postgres Query Insights


By Patrick Reynolds |

Learn how Traffic Control enforces real-time limits on Postgres queries.


By Ben Dicken |

PgBouncer is the perfect pairing for Postgres's biggest weakness: connection management. Tuning it just right is important to make this work well, and here we cover everything you need to know


By Ben Dicken |

What are database transactions and how do SQL databases isolate one transaction from another?


By Mike Coutermarsh |

How PlanetScale uses Cursor commands to automate our changelog entries


By Rafer Hazen |

Introducing AI-powered index suggestions for PostgreSQL


By Richard Crowley |

On 2025-10-20, there was an incident that affected PlanetScale, initially caused by DNS misconfiguration in one of PlanetScale’s service providers, followed by several hours of capacity constraints and network instability.


By Ben Dicken |

Postgres 18 brings a significant improvement to read performance via async I/O and I/O worker threads. Here we compare its performance to Postgres 17.


By Vicent Martí |

A new hybrid design for scalable vector indexes and a reference implementation in MySQL


By Ben Dicken |

Processes and threads are fundamental abstrations for operating systems. Learn how they work and how they impact database performance in this interactive article.


By Sam Lambert |

Why a lagging client can stall or break failover, and how MySQL’s GTID model avoids it.


By Ben Dicken |

Every time you use a computer, the cache is working to ensure your experience is fast.


By Max Englander |

The principles and processes we follow for fault tolerance.


By Ben Dicken |

Benchmarking Postgres in a transparent, standardized and fair way is challenging. Here, we look at the process of how we did it in-depth


By Vicent Martí |

A novel technique for implementing dynamic language interpreters in Go, applied to the Vitess SQL evaluation engine


By Nick Van Wiggeren |

Our experience running AWS EBS at scale for critical workloads


By Ben Dicken |

Take an interactive journey through the history of IO devices, and learn how IO device latency affects performance.


By Rafer Hazen |

Our experience upgrading the Query Insights database to PlanetScale Metal


By Richard Crowley |

Learn how PlanetScale Metal was built and how we ensured it is safe.


By Manan Gupta |

Learn how PlanetScale keeps its private fork of Vitess up-to-date with OSS


By Ben Dicken |

Learn about the database sharding scaling pattern in this interactive blog.

← Previous