web-dev-qa-db-fra.com

Qu'est-ce qu'une "table de transition" à Postgres?

La page décrivant Quoi de neuf dans Postgres 1 mentionne "Tables de transition pour les déclencheurs".

Tables de transition pour les déclencheurs

Cette fonctionnalité fait AFTER STATEMENT déclenche à la fois utile et performant en exposant, le cas échéant, les nouvelles et les nouvelles lignes à poser. Avant cette fonctionnalité, AFTER STATEMENT Les déclencheurs n'avaient aucun accès direct à ceux-ci, et les solutions de contournement étaient byzantines et avaient une mauvaise performance. Beaucoup de logique de déclenchement peuvent maintenant être écrits comme AFTER STATEMENT, évitant la nécessité de faire les commutateurs de contexte coûteux à chaque rangée que nécessaire pour chaque ligne de déclencheurs.

Qu'est-ce qu'une table de transition?

12
Basil Bourque

Vous savez comment il y a OLD et NEW record-variables pour FOR EACH ROW déclenche?

Les tables de transition sont les FOR EACH STATEMENT équivalents. Ce sont des tables avec les vieux et les nouveaux tuples, de sorte que vos déclencheurs peuvent voir ce qui a changé.

12
Craig Ringer