Postgresql Pg_partman
Postgresql Pg_partman Nedir?
Pg_partman, PostgreSQL için geliştirilmiş bir Partition yönetimi extensiondır. Büyük tabloları Partitionlara bölmek ve yönetmek için bir dizi işlev ve procedür sağlar. Pg_partman, tabloları zaman temelli veya diğer kriterlere göre otomatik olarak partisyonlar halinde bölmenize olanak tanır ve Partitionların yönetimini kolaylaştırır.
Bir e-ticaret şirketi, müşteri siparişlerini takip etmek için PostgreSQL veri tabanı kullanıyor. Ancak, sipariş tablosu hızla büyüyor ve sorgu performansında düşüşe neden oluyor. Bu durumu çözmek için pg_partman eklentisini kullanarak sipariş tablosunu zaman temelli olarak Partitionlara bölmek istiyorlar.
Pg_partman Nasıl Kullanılır?
Öncelikle, pg_partman eklentisini PostgreSQL veri tabanınıza eklemeniz gerekmektedir. Daha sonra, Partitionlanacak tabloyu oluşturmalı ve pg_partman’ın sağladığı işlevleri kullanarak Partitionları tanımlamalısınız.
Pg_partman’in Avantajları
Büyük tabloları yönetmek için etkili bir araç sağlar.
Otomatik Partition oluşturma ve yönetimini kolaylaştırır.
Performansı artırır ve sorgu yanıt sürelerini azaltır.
Veri bölünmesi sayesinde veri yönetimini kolaylaştırır.
Aşağıda, pg_partman’ı kullanarak sipariş tablosunu zaman temelli Partitionlara bölmek için bir örnek yapalım:
İlk olarak aşağıdaki gibi partmani yüklüyoruz.
apt-get -y install postgresql-14-partman
Kurulumu yapıldıktan sonra extension ve şemamızı create ediyoruz.
CREATE SCHEMA partman;
CREATE EXTENSION pg_partman WITH SCHEMA partman;
Partman yardımı ile partition yapılacak tablomuzu oluşturuyoruz.
CREATE TABLE partman.orders (
order_id SERIAL ,
customer_id INTEGER,
order_date date not null
);
Aşağıdaki şekilde partition oluşturuyoruz.
SELECT partman.create_parent('partman.orders', 'order_date', 'partman', 'yearly');
\d+ partman.orders şeklinde sorguladığımızda partitionların eklendiğini görüyoruz.