PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

postgres tronquer est lent

TRUNCATE doit vider shared_buffers pour la table tronquée, et il doit dissocier l'ancien fichier, ce qui peut être lent sur les systèmes de fichiers avec une suppression lente comme ext3 .

1,5 heure est assez extrême cependant, car nous parlons généralement de secondes au maximum. Il est fort probable que vous ayez d'autres sessions détenant des verrous sur la table qui empêchent le TRUNCATE de procéder. Voir pg_catalog.pg_locks et pg_catalog.pg_stat_activity .

L'article du wiki PostgreSQL sur la surveillance des verrous devrait être utile.

Voir aussi :Vitesse de troncation Postgresql