sql >> Databáze >  >> RDS >> PostgreSQL

Proč nelze vytvořit tabulku oddílů

"Deklarativní dělení tabulek", což je dělení jako prvotřídní funkce DBMS s vlastní syntaxí, bylo přidáno do PostgreSQL 10 .

V dřívějších verzích můžete stejného efektu dosáhnout s trochu větším úsilím pomocí "dědění tabulky". V příručce je stránka popisující, jak to provést ručně , shrnuto jako:

  1. Vytvořte "hlavní" tabulku, ze které budou všechny oddíly dědit.
  2. Vytvořte několik „podřízených“ tabulek, které každá zdědí z hlavní tabulky.
  3. Přidejte omezení tabulky do tabulek oddílů, abyste definovali povolené hodnoty klíčů v každém oddílu.
  4. Pro každý oddíl vytvořte index na sloupci klíče a také jakékoli další indexy, které budete chtít.
  5. Volitelně definujte spouštěč nebo pravidlo pro přesměrování dat vložených do hlavní tabulky do příslušného oddílu.
  6. Ujistěte se, že konfigurační parametr constraint_exclusion není v postgresql.conf zakázán. Pokud ano, dotazy nebudou optimalizovány podle potřeby.

Chcete-li to usnadnit, pokud nemůžete upgradovat na verzi 10, můžete použít rozšíření, jako je pg_partman který vám poskytuje další funkce pro nastavení a správu sad oddílů.



  1. Přístup ke vzdálenému serveru Postgres pomocí pgAdmin

  2. Příkaz MySQL pro výběr nejnovější položky konkrétního sloupce

  3. Jak vybrat binární data ze sloupce postgres

  4. Jak formátovat číslo s čárkou v Oracle