PG Partition Manager (eller pg_partman) kan håndtere både tidsbaserte og seriebasert partisjoner, og er et anbefalt verktøy for å håndtere store datastrukturer.
pg_partman utvidelsen vil bare dele store tabeller i mindre biter, for enklere behandling, lindre CPU og minneforbruk.
.
Når en tabell partisjon har vært jobbet på, vil pg_partman slippe det for å unngå minne befolkning
Hva er nytt i denne versjonen:
- Hvis oppbevaring systemet er slått på, ikke lenger logger jobmon oppføringer hvis ingen retensjon arbeidet faktisk ble gjort. Ville tidligere bare logge at null tabeller ble droppet. Hvis noe er droppet / uninherited, vil det være logget inn som forventet.
- Endret kolonne & quot; typen & quot; i part_config til & quot; partition_type & quot ;. & quot; typen & quot; er et reservert ord, men ikke i dag strengt håndhevet (krever ikke dobbel sitere). Dette unngår eventuelle fremtidige problemer. Også endret sub_type i part_config_sub til & quot; sub_partition_type & quot; for konsistens
- Endret kolonne & quot; part_interval & quot; i part_config & part_config_sub til & quot; partition_interval & quot; å være mer i samsvar med ovennevnte omdøpt kolonne.
- Nå bruker ny og mer omfattende GET stablet DIAGNOSE funksjonen lagt i 9.2 for å gi mer detaljerte feil når et unntak er oppstått. Tidligere når funksjoner kalt andre funksjoner og en tilpasset unntak blokk ble brukt, bare den siste funksjon kalt ville rapportere feilen. Nå er en mer komplett stabel spor er tilgjengelig for å se den opprinnelige funksjon som forårsaket feilen.
- Omfattende dokumentasjon formaterings forbedringer.
- En bakgrunn arbeidsprosessen (BGW) har blitt lagt til pg_partman for generell partisjon vedlikehold.
- Det er ikke lenger tydelig & quot; statisk & quot; og & quot; dynamisk & quot; partisjonering moduser. Funksjonene i hver modus er slått sammen til en enkelt trigger format.
Hva er nytt i versjon 2.0.0:
- Hvis oppbevaring systemet er slått på, jobmon ikke lenger logger oppføringer hvis ingen retensjon arbeidet faktisk ble gjort. Ville tidligere bare logge at null tabeller ble droppet. Hvis noe er droppet / uninherited, vil det være logget inn som forventet.
- Endret kolonne & quot; typen & quot; i part_config til & quot; partition_type & quot ;. & quot; typen & quot; er et reservert ord, men ikke i dag strengt håndhevet (krever ikke dobbel sitere). Dette unngår eventuelle fremtidige problemer. Også endret sub_type i part_config_sub til & quot; sub_partition_type & quot; for konsistens
- Endret kolonne & quot; part_interval & quot; i part_config & part_config_sub til & quot; partition_interval & quot; å være mer i samsvar med ovennevnte omdøpt kolonne.
- Nå bruker ny og mer omfattende GET stablet DIAGNOSE funksjonen lagt i 9.2 for å gi mer detaljerte feil når et unntak er oppstått. Tidligere når funksjoner kalt andre funksjoner og en tilpasset unntak blokk ble brukt, bare den siste funksjon kalt ville rapportere feilen. Nå er en mer komplett stabel spor er tilgjengelig for å se den opprinnelige funksjon som forårsaket feilen.
- Omfattende dokumentasjon formaterings forbedringer.
- En bakgrunn arbeidsprosessen (BGW) har blitt lagt til pg_partman for generell partisjon vedlikehold.
- Det er ikke lenger tydelig & quot; statisk & quot; og & quot; dynamisk & quot; partisjonering moduser. Funksjonene i hver modus er slått sammen til en enkelt trigger format.
Hva er nytt i versjon 1.8.4:
- New ordnede tabellen navn parameter til run_maintenance (). Hvis satt, hopper alle andre tabeller for at vedlikehold kjøre og bare gjør det som er angitt.
- New analysere parameter til run_maintenance ().
- PG partman støtter nå sub-partisjonering. Dette gjør automatisk konfigurering for å snu barnet bord av en eksisterende partisjon satt inn i overordnede tabellene av sine egne skillevegger sett.
- Analyser ikke lenger automatisk kjøre på den overordnede tabellen etter create_parent () kjøres.
- Lagt til en --version argument til alle python scripts. Dette forteller deg at minimumsversjon av pg_partman dette skriptet er ment å jobbe med.
- Sørget for alle skript i bin mappen legges til Makefile for installasjon.
- Sørg autovacuum er tilbakestilt hvis SIGINT (Ctrl + C) blir avfyrt når du bruker partition_data.py eller undo_partition.py.
- Lagt howto.md fil til doc mappe med noen mer omfattende eksempler.
- last_partition kolonne i part_config tabellen ikke lenger er i bruk. Droppet det.
- Omdøpt interne funksjoner create_id_partition (), create_id_function (), create_time_partition () og create_time_function () for å create_partition_id (), create_function_id (), create_partition_time () og create_function_time () hhv. Dette gir alle funksjoner en konsistent navngiving mønster.
Hva er nytt i versjon 1.8.1:
- New ordnede tabellen navn parameter til run_maintenance (). Hvis satt, hopper alle andre tabeller for at vedlikehold kjøre og bare gjør det som er angitt.
- New analysere parameter til run_maintenance ().
- PG partman støtter nå sub-partisjonering. Dette gjør automatisk konfigurering for å snu barnet bord av en eksisterende partisjon satt inn i overordnede tabellene av sine egne skillevegger sett.
- Analyser ikke lenger automatisk kjøre på den overordnede tabellen etter create_parent () kjøres.
- Lagt til en --version argument til alle python scripts. Dette forteller deg at minimumsversjon av pg_partman dette skriptet er ment å jobbe med.
- Sørget for alle skript i bin mappen legges til Makefile for installasjon.
- Sørg autovacuum er tilbakestilt hvis SIGINT (Ctrl + C) blir avfyrt når du bruker partition_data.py eller undo_partition.py.
- Lagt howto.md fil til doc mappe med noen mer omfattende eksempler.
- last_partition kolonne i part_config tabellen ikke lenger er i bruk. Droppet det.
- Omdøpt interne funksjoner create_id_partition (), create_id_function (), create_time_partition () og create_time_function () for å create_partition_id (), create_function_id (), create_partition_time () og create_function_time () hhv. Dette gir alle funksjoner en konsistent navngiving mønster.
Hva er nytt i versjon 1.7.2:
- Rettet feil i apply_foreign_keys () hvor ny partisjon skapelse ville mislykkes når partisjonen settet skjemaet er i gjeldende search_path.
- Fremmednøkkel arv er nå valgfritt fordi flere komplekse FK forhold ikke kan fungere ideelt med pg_partman standardmetode. Nytt alternativ konfigurasjon i part_config bord og parameter til create_parent ().
Hva er nytt i versjon 1.6.0:
- Avklar i docs at id intervallverdien sendes til create_parent () må faktisk være i teksttype format.
- Endret slipp & angre partisjonsfunksjoner å bruke transaksjonsbaserte rådgivnings låser.
- Fjernet behovet for internt brukt funksjon create_next_time_partition () og derfor droppet funksjonen.
- Forenklet create_time_partition () & create_id_partition () parameterlister.
Hva er nytt i versjon 1.5.1:
- Fast create_parent () for å faktisk sette inn contraint_cols verdi gått inn i funksjonen til config tabellen når du bruker tid basert partisjonering.
Hva er nytt i versjon 1.5.0:
- Se etter gyldige parameterverdier i partisjonen skapelsen funksjon.
- Lagt dråpe indeksen samtidig opsjon (--drop_concurrently) til reapply_indexes.py script. Fungerer bare for 9.2 +.
- Endret run_maintenance () til å bruke rådgivende transaksjonen låsen i stedet for økt nivå lås.
- Fast savnede bibliotek import i Python-skript.
- Organisert dokumentasjon av funksjoner.
Hva er nytt i versjon 1.4.0:
- New Python script (reapply-indexes.py) søke på nytt indekser til barnet bord når de har endret på den overordnede. Se docs for mer info.
- Ny funksjon for å sjekke det unike i en kolonne i en partisjon sett (check_unique_column ()). Bidrar til å overvinne den manglende evne til en entydig begrensning å bli effektivt brukes på tvers av alle partisjoner i et sett. Hindrer ikke en unik brudd, men gir en metode for å overvåke det som skjer.
- Flere pgTAP tester for å sikre navn trunucation prosessen fungerer.
- Endret pgTAP tester for å anta pgTAP er installert i offentlige skjema for å prøve og unngå problemer når det ikke er.
Hva er nytt i versjon 1.1.0:
- Nye python skript i ekstra mappe for å tillate partisjon opprettelse og angre bruker mindre forplikte partier, som er foreslått i dokumentasjonen for partition_data_ * og undo_partition_ * funksjoner. Dette bidrar til å unngå transaksjons låser når det er en stor mengde med data som skal bevege seg rundt. Det er også muligheter for å begå saktere og lette belastningen på veldig opptatt systemer.
- Endret bestilling av batch argumenter i partition_data_id () og partition_data_time (). Dette gjør sitt for det samme som Angre funksjoner og er en mer sensical rekkefølge (jeg tror likevel).
- Made partisjonsfunksjoner roligere. Ingen flere merknader og bare returnerer antallet rader flyttes.
- Endret angre partisjonsfunksjoner for å fjerne partisjoner i den rekkefølgen de opprinnelig ble opprettet. De gjorde det alfabetisk før, noe som kan føre til en merkelig ordre for serie basert partisjonering (p100 ville være før p2). Creation rekkefølge kan ikke fjerne dem i stigende rekkefølge av dataene i starten, noe som ville være ideelt, men det er mer fornuftig enn alfabetisk.
- Bug fix: undo_partition () kunne returnere 0 tidlig hvis noen av partisjonene var tom. Vil nå automatisk uninherit / slippe eventuelle tomme partisjoner og fortsett på om det fortsatt er barnet bord, ikke telle dem mot p_batch_count hvis gitt.
Krav
- PostgreSQL 9.1 eller høyere
- pg_jobmon 1.0 eller høyere
Kommentarer ikke funnet