PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dlaczego nie można utworzyć tabeli partycjonowania?

"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:

  1. Utwórz tabelę „główną”, z której dziedziczą wszystkie partycje.
  2. Utwórz kilka tabel „podrzędnych”, z których każda dziedziczy z tabeli głównej.
  3. Dodaj ograniczenia tabeli do tabel partycji, aby zdefiniować dozwolone wartości kluczy w każdej partycji.
  4. Dla każdej partycji utwórz indeks w kolumnie (kolumnach) klucza, a także wszelkie inne indeksy, które możesz chcieć.
  5. Opcjonalnie, zdefiniuj wyzwalacz lub regułę, aby przekierować dane wstawione do tabeli głównej do odpowiedniej partycji.
  6. 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie bazy danych postgresql przy użyciu psycopg2

  2. Jak zapewnić wpisy o nienakładających się przedziałach czasowych?

  3. Aktualizacja zbiorcza/wsadowa/upsert w PostgreSQL

  4. Jak przekonwertować liczbę całkowitą na ciąg jako część zapytania PostgreSQL?

  5. Podziel wartości oddzielone przecinkami do tabeli docelowej ze stałą liczbą kolumn