Gestionnaire PG de partage (ou pg_partman) peuvent gérer les deux partitions série basée en fonction du temps et, et est un outil recommandé pour traiter avec de grandes structures de données.
L'extension de pg_partman simplement diviser les grandes tables en petits morceaux, pour faciliter le traitement, la réduction de la consommation de mémoire et CPU.
.
Une fois une partition de table a été travaillé, pg_partman va baisser pour éviter mémoire surpopulation
Ce qui est nouveau dans cette version:
- Si le système de rétention est activée, jobmon ne se connecte entrées si aucun travail de conservation a été réellement fait. , Auparavant, connectez-vous que zéro tables ont été abandonnées. Si quelque chose est tombé / uninherited, il sera enregistré comme prévu.
- colonne Changé & quot; de type & quot; dans part_config & quot; & quot ;. partition_type & quot; de type & quot; est un mot réservé, mais pas actuellement strictement appliquées (ne nécessite pas de guillemets doubles). Cela évite les problèmes futurs possibles. Egalement, changement de sub_type dans part_config_sub à & quot; sub_partition_type & quot; pour la cohérence
- & quot colonne Changé; part_interval & quot; dans part_config & part_config_sub & quot; partition_interval & quot; pour être plus conforme à la colonne ci-dessus renommé.
- Maintenant utilise une nouvelle fonction de diagnostic plus étendue, GET STACKED ajoutée en 9.2 pour fournir des erreurs plus détaillés quand une exception est rencontrée. Auparavant, lorsque les fonctions appelées d'autres fonctions et un bloc d'exception personnalisée a été utilisé, seule la dernière fonction appelée aurait signaler l'erreur. Maintenant, une trace de la pile plus complet est disponible pour voir la fonction d'origine qui a causé l'erreur.
- amélioration de la mise en forme d'une documentation complète.
- Un processus de travail de fond (BGW) a été ajouté à pg_partman pour l'entretien général de la partition.
- Il n'y a plus distincte & quot; & quot statique; et & quot; & quot dynamique; modes de partitionnement. Les caractéristiques de chaque mode ont été combinés en un format de déclenchement unique.
Ce qui est nouveau dans la version 2.0.0:
- Si le système de rétention est activée, jobmon plus grumes entrées si aucun travail de conservation a été réellement fait. , Auparavant, connectez-vous que zéro tables ont été abandonnées. Si quelque chose est tombé / uninherited, il sera enregistré comme prévu.
- colonne Changé & quot; de type & quot; dans part_config & quot; & quot ;. partition_type & quot; de type & quot; est un mot réservé, mais pas actuellement strictement appliquées (ne nécessite pas de guillemets doubles). Cela évite les problèmes futurs possibles. Egalement, changement de sub_type dans part_config_sub à & quot; sub_partition_type & quot; pour la cohérence
- & quot colonne Changé; part_interval & quot; dans part_config & part_config_sub & quot; partition_interval & quot; pour être plus conforme à la colonne ci-dessus renommé.
- Maintenant utilise une nouvelle fonction de diagnostic plus étendue, GET STACKED ajoutée en 9.2 pour fournir des erreurs plus détaillés quand une exception est rencontrée. Auparavant, lorsque les fonctions appelées d'autres fonctions et un bloc d'exception personnalisée a été utilisé, seule la dernière fonction appelée aurait signaler l'erreur. Maintenant, une trace de la pile plus complet est disponible pour voir la fonction d'origine qui a causé l'erreur.
- amélioration de la mise en forme d'une documentation complète.
- Un processus de travail de fond (BGW) a été ajouté à pg_partman pour l'entretien général de la partition.
- Il n'y a plus distincte & quot; & quot statique; et & quot; & quot dynamique; modes de partitionnement. Les caractéristiques de chaque mode ont été combinés en un format de déclenchement unique.
Quoi de neuf dans la version 1.8.4:
- Nouveau nom de la table parent paramètre à run_maintenance (). Si elle est définie, saute toutes les autres tables pour que l'entretien terme et ne fait que celui donné.
- Nouveau paramètre à analyser run_maintenance ().
- PG partman prend désormais en sous-partitionnement. Cela permet une configuration automatique à tourner les tables d'une partition existante mis en tables parent de leurs propres ensembles de séparation de l'enfant.
- Analyser est plus automatiquement de fonctionner sur la table de parent après create_parent () est exécuté.
- Ajout d'un argument --version à tous les scripts python. Cela vous indique la version minimale de pg_partman ce script est destiné à travailler avec.
- Fait que tous les scripts dans le dossier bin sont ajoutés à Makefile pour l'installation.
- Assurez-vous autovacuum est réinitialisée si SIGINT (Ctrl + C) est déclenché lorsque l'aide partition_data.py ou undo_partition.py.
- Ajout de fichier howto.md au dossier doc avec quelques exemples plus vastes.
- colonne de last_partition dans le tableau de part_config ne sont plus utilisés. Laissé tomber.
- Rebaptisé fonctions internes create_id_partition (), create_id_function (), create_time_partition () & create_time_function () pour create_partition_id (), create_function_id (), create_partition_time () & create_function_time () respectivement. Cela donne toutes les fonctions d'une des règles de nommage.
Quoi de neuf dans la version 1.8.1:
- Nouveau nom de la table parent paramètre à run_maintenance (). Si elle est définie, saute toutes les autres tables pour que l'entretien terme et ne fait que celui donné.
- Nouveau paramètre à analyser run_maintenance ().
- PG partman prend désormais en sous-partitionnement. Cela permet une configuration automatique à tourner les tables d'une partition existante mis en tables parent de leurs propres ensembles de séparation de l'enfant.
- Analyser est plus automatiquement de fonctionner sur la table de parent après create_parent () est exécuté.
- Ajout d'un argument --version à tous les scripts python. Cela vous indique la version minimale de pg_partman ce script est destiné à travailler avec.
- Fait que tous les scripts dans le dossier bin sont ajoutés à Makefile pour l'installation.
- Assurez-vous autovacuum est réinitialisée si SIGINT (Ctrl + C) est déclenché lorsque l'aide partition_data.py ou undo_partition.py.
- Ajout de fichier howto.md au dossier doc avec quelques exemples plus vastes.
- colonne de last_partition dans le tableau de part_config ne sont plus utilisés. Laissé tomber.
- Rebaptisé fonctions internes create_id_partition (), create_id_function (), create_time_partition () & create_time_function () pour create_partition_id (), create_function_id (), create_partition_time () & create_function_time () respectivement. Cela donne toutes les fonctions d'une des règles de nommage.
Ce qui est nouveau dans la version 1.7.2:
- Correction d'un bug dans apply_foreign_keys () où la nouvelle création de la partition serait échouer lorsque le schéma de l'ensemble de la partition est dans le search_path actuelle.
- héritage clé étrangère est désormais facultatif depuis plus de relations FK complexes peuvent ne pas fonctionner idéalement avec la méthode par défaut de pg_partman. Nouvelle option de configuration dans le tableau de part_config et paramètre à create_parent ().
Ce qui est nouveau dans la version 1.6.0:
- Clarifier dans docs que la valeur de l'intervalle de ID transmis à create_parent () doit effectivement être au format de type texte.
- drop Changé & Annuler pour utiliser les verrous consultatifs sur la base des transactions.
- nécessité supprimée pour usage interne create_next_time_partition de fonction () et donc baissé la fonction.
- simplifié l'create_time_partition () & create_id_partition () des listes de paramètres.
fonctions de partition
Quoi de neuf dans la version 1.5.1:
- create_parent fixe () pour insérer effectivement la valeur de contraint_cols passé dans la fonction à la table de configuration lors de l'utilisation du temps de partitionnement en fonction.
Quoi de neuf dans la version 1.5.0:
- Vérifier les valeurs de paramètres valides de la fonction de création de partition.
- drop index Ajouté simultanément l'option (--drop_concurrently) à reapply_indexes.py script. Ne fonctionne que pour 9.2 +.
- run_maintenance Changé () pour utiliser le verrouillage de la transaction consultatif au lieu de verrou au niveau de la session.
- Correction d'importation de la bibliothèque manquante dans scripts python.
- documentation organisée des fonctions.
Ce qui est nouveau dans la version 1.4.0:
- script New Python (reapply-indexes.py) d'appliquer de nouveau les index des tables enfant quand ils ont changé sur le parent. Voir docs pour plus d'informations.
- Nouvelle fonction pour vérifier l'unicité d'une colonne dans un jeu de la partition (check_unique_column ()). Aide à surmonter l'incapacité d'une contrainte unique doit être appliquée efficacement sur toutes les partitions dans un ensemble. Ne pas empêcher la violation unique, mais fournit une méthode pour surveiller ce qui se passe.
- Plus de tests de pgTAP de garantir un processus nom de trunucation travaille.
- tests de pgTAP Changé pour assumer pgTAP est installé dans le schéma du public pour essayer d'éviter des problèmes quand il est pas.
Ce qui est nouveau dans la version 1.1.0:
- Nouveaux scripts python dans dossier extras pour permettre la création de partition et défaire en utilisant petit commettre lots, comme cela est suggéré dans la documentation pour l'partition_data_ * et les fonctions undo_partition_ *. Cela permet d'éviter verrous de transaction quand il ya une grande quantité de données à déplacer. Il ya aussi des options de commettre plus lentement et alléger la charge sur les systèmes très occupés.
- Changed l'ordre des arguments de lots dans partition_data_id () & partition_data_time (). Cela rend leur ordre les mêmes que les fonctions undo et est un ordre plus sensical (Je pense que de toute façon).
- Fait fonctions de partition plus calmes. Pas plus des avis et renvoie simplement le nombre de lignes déplacé.
- changé les fonctions de partition d'annulation pour supprimer les partitions dans l'ordre où ils ont été créés. Ils le faisaient alphabétiquement avant, ce qui pourrait causer un ordre impair pour le partitionnement basé série (p100 seraient avant p2). Afin de création ne peut pas les supprimer dans l'ordre croissant des données à la première, ce qui serait idéal, mais il est plus logique que par ordre alphabétique.
- Bug fix: undo_partition () pourrait revenir 0 prématurément si certains des partitions étaient vides. Sera désormais automatiquement uninherit / supprimer des partitions vides et continuer sur si il ya encore des tables enfant, ne pas les compter contre p_batch_count si donné.
Exigences :
- PostgreSQL 9.1 ou supérieur
- pg_jobmon 1.0 ou supérieur
Commentaires non trouvées