PostgreSQL
15 articles tagged with "PostgreSQL"

Caching real GitLab queries on Azure Postgres with Readyset
GitLab on Azure Postgres is expensive once a few teams start hammering the REST API. The bill grows because Postgres has to serve the same project list, issue count, and dashboard rollup over and over again, on top of the real work (writes, search, CI metadata). The standard answer is to scale up: For example, D4ds_v5 to D8ds_v5 to D16ds_v5, same shape, double the price (check the pricing calculator). This post walks through a different answer. We put Readyset between GitLab and an Azure Databa
The Hidden Complexity of Postgres Scaling Architectures
The OpenAI Postgres scaling article has been making the rounds, and for good reason. The piece does two things extremely well. First, it shows just how Postgres can be pushed far beyond what most teams assume is possible. Second, it makes clear that workloads at this scale don’t run on databases alone; they rely on caching, proxies, and careful query traffic management. It’s a rare public look at what it actually takes to run Postgres at serious scale. Why Scaling PostgreSQL at High Traffic
Gautam Gopinadhan
A Deep Dive on Readyset Behind PgBouncer
The title of this post sets the stage for a compelling discussion, and I’ll start with a direct spoiler: Readyset is about performance. It delivers exceptional query acceleration because it behaves as an intelligent cache—without relying on traditional TTLs, background eviction processes, or complex locking mechanisms. More importantly, it integrates seamlessly with your existing application stack: no changes to application logic are required. From an architectural standpoint, Readyset drastical
Wagner BianchiGetting Started with Readyset on PostgreSQL
PostgreSQL is one of the most potent relational databases, but performance can become a bottleneck as queries become complex. One of the most effective ways to reduce query latency without modifying application logic is caching, and Readyset provides a seamless solution. Readyset sits between your application and PostgreSQL, automatically caching queries and speeding up their response times considerably. In this guide, we’ll walk through: Installing Readyset on Ubuntu 24.04 using a .deb packa
Wagner BianchiHorizontal scaling with Postgres replication
Modern applications demand scalability to support growing user bases, real-time responsiveness, and large data volumes. But as applications grow, vertical scaling by adding more compute resources has an upper limit. Once those limits are hit, you’ll need to figure out horizontal scaling by adding more servers into your environment. As most applications are typically read-heavy, the first step to scaling out your database is by adding read replicas to handle the additional load placed on them.
Brian Morrison IIGetting started with Django, PostgreSQL, and Readyset
Real-world applications face performance challenges with growing data and user traffic. Caching mitigates these challenges by storing frequently accessed data, reducing database fetches, improving response times, and enhancing application scalability, reliability, and user experience. Readyset is a caching engine for Postgres and MySQL databases, requiring minimal adjustments to existing setups. Its wire-compatible design means that the only modification necessary is to adjust the connection st
Rishi Raj JainOptimizing SQL Pagination in Postgres
SQL pagination is a technique to retrieve a subset of records from a Postgres table or result set. It allows you to divide large datasets into smaller, manageable chunks called "pages" and retrieve them one page at a time. Understanding Pagination in Postgres Pagination is commonly used in applications that display data in a paginated format, such as search results, product listings, or user records. It helps improve performance and user experience by loading and displaying only a portion o
Mastering Query Rewriting for Faster PostgreSQL Performance
When you first spin up your app, the emphasis is on getting started and getting data to your clients. But when you don’t have throughput, you are also not going to have enough concurrency to unveil bad queries. But then you have success. And success means data. More users, more interactions, more everything. Suddenly, queries that performed fine are struggling under the load, hurting performance and scalability. This is all going to mean a far worse user experience when much higher costs becaus
Marcelo AltmannHow Platform Engineers Can Automate Postgres Maintenance
Database maintenance is a crucial ingredient for sustained performance and data integrity. For platform engineers, automating routine tasks within a PostgreSQL environment ensures both reliability and relieves team members from repetitive manual work. Here's a quick rundown of effective approaches: Fine-Tuning Autovacuum PostgreSQL's built-in autovacuum daemon automates essential VACUUM and ANALYZE operations. To get the most out of it: Verifying Autovacuum Enablement Ensure autovacuum
Marcelo AltmannHow to Solve for the N+1 Query Problem: Investigating and Optimizing Over-Querying
Imagine you're running a popular e-commerce online bookstore that offers a vast collection of titles and authors to a growing user base. However, you've noticed a troubling trend over the past few months: the website is gradually slowing down, especially during peak hours when users browse various book categories. After an initial investigation, you find that the cause of the slowdown isn't an increase in user traffic or a lack of server resources. Instead, it's rooted in the very foundation of
A Practical Guide to Caching: What to Cache and When
Caching is a Goldilocks problem. Caching too much leads to stale data, memory bloat, and a lot of cache management. Caching too little leads to longer latencies, higher database load, and the need to provision more and more storage. The aim is to cache just right, optimize cache performance, minimize database load, and enhance overall system efficiency. This is a lot easier said than done. How do you know what to cache and when? Modern databases help you understand the usage patterns of your
How Database Replication Works Under the Hood
Replicating data is a process you will encounter if you build a product. At the very least, you’ll want some kind of backup for your primary database, either through taking a snapshot or having a secondary “follower” database mirroring your primary data. You might also replicate data into a data warehouse for analysis, copy data to read-only replicas for load balancing, or replicate data while performing upgrades to your infrastructure. That’s to say, database replication is a ubiquitous and he
Finding Slow Queries in Postgres Using Datadog
You’re starting to notice lags in your application's performance. Page loads are slowing, and the user experience is being impacted. At the same time, your AWS bills are also starting to creep up. These can be the tell-tale signs of serious database performance issues. Your queries are taking too long to execute and are using too many resources when they do. The answer most people move to is to start caching queries to reduce the load on your database. This is exactly what we built Readyset for

Introducing Readyset Cloud for AWS Postgres
Your database. 1,000x faster queries. In the click of a button. Today, we’re thrilled to announce the official rollout of Readyset Cloud for AWS Postgres users. The scalability of your software is limited by the scalability of your database, and typically, building highly responsive data-intensive applications requires introducing complex and error-prone caching logic to your code. Readyset Cloud helps you circumvent these problems by making your queries faster without any changes to your
How are MySQL and Postgres ENUMs different?
The Hidden Complexities of ENUM Data Types Halloween’s approach means it's the spooky month, and there’s nothing more spooky than the horrors lurking behind everyday database features. The humble enum may seem friendly and innocent enough, but let’s peel back the wallpaper and take a look at what’s hiding underneath... The concept of an enum is simple enough: database tables frequently contain string columns with a limited number of valid values, so storing that column as one of the standard t
Still scaling the hard way?
Modern applications demand instant performance, even under unpredictable load. Readyset helps you eliminate slow queries, stabilize latency, and scale confidently.
Revolutionize your database performance with Readyset
Serve requests at sub-millisecond latencies with the modern database scaling and query caching system for MySQL and PostgreSQL.
Join our newsletter
Stay updated with the latest news, insights, and developments from Readyset — straight to your inbox.