"Deklaratywne partycjonowanie tabeli", czyli partycjonowanie jako pierwszorzędna funkcja DBMS z własną składnią, to dodane w PostgreSQL 10 .
We wcześniejszych wersjach ten sam efekt można było osiągnąć przy nieco większym wysiłku, korzystając z „dziedziczenia tabeli”. W podręczniku znajduje się strona opisująca, jak to zrobić ręcznie , podsumowane jako:
- Utwórz tabelę „główną”, z której dziedziczą wszystkie partycje.
- Utwórz kilka tabel „podrzędnych”, z których każda dziedziczy z tabeli głównej.
- Dodaj ograniczenia tabeli do tabel partycji, aby zdefiniować dozwolone wartości kluczy w każdej partycji.
- Dla każdej partycji utwórz indeks w kolumnie (kolumnach) klucza, a także wszelkie inne indeksy, które możesz chcieć.
- Opcjonalnie, zdefiniuj wyzwalacz lub regułę, aby przekierować dane wstawione do tabeli głównej do odpowiedniej partycji.
- Upewnij się, że parametr konfiguracyjny bound_exclusion nie jest wyłączony w pliku postgresql.conf. Jeśli tak jest, zapytania nie zostaną zoptymalizowane zgodnie z oczekiwaniami.
Aby to ułatwić, jeśli nie możesz uaktualnić do wersji 10, możesz użyć rozszerzenia, takiego jak pg_partman co daje dodatkowe funkcje do konfigurowania i zarządzania zestawami partycji.