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.

 

Loading