/ / Ajouter une partition à une table Postgres qui a été utilisée pour l'insertion à ce moment? - postgresql, partitionnement

Ajouter une partition à une table Postgres qui a été utilisée pour l'insertion à ce moment? - postgresql, partitionnement

Je vérifie comment nous pouvons ajouter une partition à la table qui est utilisée pour l’insertion à ce moment-là.

J'utilise Postgres 9.3 et j’ai créé les tables de partitionnement de base comme suit.

  • Table parent - client
  • Tables enfants - customer_month_01 à customer_month_06

J'ai créé le déclencheur sur insertion et insertion dans toutes les tables en travaillant avec précision. (Les données sont insérées dans en fonction du déclencheur pour la table appropriée)

Ma préoccupation est maintenant de savoir comment puis-je ajouter une nouvelle partition au parent pendant l’insertion des enregistrements.

J'ai mis à jour la fonction de déclenchement, mais je suis coincé dansajouter ce déclencheur à la table maître (parent). Afin d'ajouter un déclencheur mis à jour, je dois d'abord supprimer l'ancien déclencheur. Étant donné que l’insertion continue est en cours, peu de temps après que j’ai abandonné le déclencheur, toute l’insertion ira dans la table parente (dans la fenêtre d’ajout et de suppression du déclencheur). Ainsi, après la création du nouveau déclencheur, je dois déplacer manuellement les données vers la partition appropriée. Je veux empêcher cela.

Comment puis-je effectuer cette tâche sans l'insérer dans la table parent?

Réponses:

0 pour la réponse № 1

Dans ce cas, la mise à jour de la fonction de déclenchement sera suffisante. Après la mise à jour de la fonction de déclenchement, les nouvelles données seront redirigées vers la table enfant appropriée.

http://www.postgresql.org/docs/9.3/static/ddl-partitioning.html