Effortless PostgreSQL Table Partitioning with pg_rewrite
Partitioning PostgreSQL tables has quickly become one of the most popular methods to scale and improve database performance. However, partitioning existing tables without locking your database is often a major pain point.
That’s where pg_rewrite comes in—a simple, elegant tool that allows you to repartition PostgreSQL tables with minimal locking. In this guide, you’ll learn how to install and use it.
🔧 Installing pg_rewrite
To get started, clone the open-source project from GitHub:
Make sure the correct version of pg_config is in your path:
Then build and install the extension:
PostgreSQL Configuration
Update your postgresql.conf with the following settings:
Restart PostgreSQL and verify the extension is loaded:
Then create the extension:
🧪 Creating a Sample Table
Now let’s create a test table that we’ll later partition:
Confirm the data distribution:
Make sure the table has a primary key:
🗂 Setting Up Partitioned Tables
Create your partitioned structure. For this example, we’ll split values into negative and positive ranges:
☝ Make sure the primary key and constraints match the original table, or the rewrite will fail.
🚀 Partitioning with Minimal Locking
Run the rewrite operation:
-
t_number: original table -
t_part_number: new partitioned table -
t_old_number: backup of the original (for rollback, if needed)
Check the resulting structure:
You’ll see:
-
t_number(now a partitioned table) -
t_old_number(backup of the original table) -
t_part_number_neg,t_part_number_pos(partition tables)
🎉 Why Use pg_rewrite?
Unlike traditional PostgreSQL partitioning, pg_rewrite minimizes locking by using a rewrite strategy. It’s ideal for large tables and production systems where downtime is unacceptable.
🌍 Bonus: Prebuilt GIS Data for PostgreSQL
We also offer ready-to-import OpenStreetMap (OSM) data for PostgreSQL on our new GIS site. These dumps are ideal for large PostGIS workloads and take full advantage of partitioning.
Check out the GIS resource page →
👨💼 About Enteros
Enteros is a patented database performance management platform that identifies and resolves complex performance issues across a wide range of environments—including SQL, NoSQL, and ML databases—on any cloud or on-prem infrastructure.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Reducing Cloud Infrastructure Waste in BFSI with AIOps, FinOps, and Database Analytics
- 25 August 2026
- Database Performance Management
Introduction Banking, Financial Services, and Insurance (BFSI) organizations are rapidly adopting cloud infrastructure to support digital banking, payments, lending, insurance, fraud detection, financial analytics, and customer-facing applications. Cloud technology provides the scalability and flexibility needed to deliver always-on financial services, but it also creates a growing challenge: how can BFSI organizations control infrastructure waste without … Continue reading “Reducing Cloud Infrastructure Waste in BFSI with AIOps, FinOps, and Database Analytics”
How AI-Driven FinOps and AIOps Improve Performance Across Banking Cloud Environments
Introduction The banking industry is rapidly transitioning from traditional infrastructure models toward cloud-native, hybrid, and multi-cloud environments. Digital banking applications, payment platforms, lending systems, customer portals, fraud detection platforms, and financial analytics increasingly depend on cloud infrastructure to deliver scalable and reliable services. This transformation provides banks with greater flexibility, but it also introduces a … Continue reading “How AI-Driven FinOps and AIOps Improve Performance Across Banking Cloud Environments”
How to Optimize Telecom Database Infrastructure with Enteros Database Software, AIOps, and Cloud FinOps
Introduction Telecommunications companies operate some of the most complex technology environments in the world. Subscriber management, billing, charging, network inventory, service provisioning, CRM, usage analytics, 5G, IoT, edge computing, and digital customer platforms all generate massive database workloads. As telecom operators expand 5G, cloud-native architectures, edge computing, and AI, the amount and complexity of data … Continue reading “How to Optimize Telecom Database Infrastructure with Enteros Database Software, AIOps, and Cloud FinOps”
Building Resilient BFSI Applications with Predictive AIOps and FinOps Intelligence
- 23 August 2026
- Database Performance Management
Introduction The Banking, Financial Services, and Insurance (BFSI) industry is undergoing a rapid digital transformation. Mobile banking, digital payments, online lending, insurance platforms, wealth management applications, and real-time financial services now depend on highly available and scalable IT infrastructure. Customers expect BFSI applications to be fast, secure, and available around the clock. Even a short … Continue reading “Building Resilient BFSI Applications with Predictive AIOps and FinOps Intelligence”