TRUNCATE måste spola shared_buffers för tabellen som trunkeras, och den måste ta bort länken till den gamla filen, vilket kan vara långsamt på filsystem med långsam radering som ext3 .
1,5 timme är dock ganska extremt, då vi brukar prata om sekunder som mest. Det är mycket troligt att du har andra sessioner som håller lås på bordet som förhindrar TRUNCATE från att fortsätta. Se pg_catalog.pg_locks och pg_catalog.pg_stat_activity .
PostgreSQL-wikiartikeln om låsövervakning borde vara användbart.
Se även:Postgresql trunkeringshastighet