Hi, we frequently run many query involving XML that use a smallish temporary file, despite having increased local work_mem in that transaction to 16GB. FreeBSD's top shows that the memory isn't actually being used - it remains free. Basically many such queries are run within a single transaction:

LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp92452.1079", size 166518
STATEMENT:  DELETE FROM "foo" WHERE ((col1, col2, col3) in (select col1, col2, col3 from foo_xml_v2('<here goes xml-formatted blob>'))) AND "foo"."col_id" IN ($1, $2, $3, $4, $5, $6, $7, $8, $9)


It looks like increasing work_mem doesn't help. Surely 16GB is enough to cover all these small temp files?



Reply via email to