PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

postgres truncate é lento


TRUNCATE tem que liberar shared_buffers para a tabela que está sendo truncada e precisa desvincular o arquivo antigo, que pode ser lento em sistemas de arquivos com exclusão lenta como ext3 .

1,5 horas é bastante extremo, pois geralmente estamos falando de segundos no máximo. É altamente provável que você tenha outras sessões mantendo bloqueios na tabela que impedem o TRUNCATE de proceder. Consulte pg_catalog.pg_locks e pg_catalog.pg_stat_activity .

O artigo wiki do PostgreSQL sobre monitoramento de bloqueio deve ser útil.

Veja também:Velocidade de truncamento do Postgresql