Hi, I have several queries in *single* transaction and I want to figure out reasonable work_mem value. Here is the excerpt from "explain plan" -- each query has two sorts: 1) Sort Method: quicksort Memory: 6 324kB Sort Method: quicksort Memory: 1 932 134kB 2) Sort Method: quicksort Memory: 28 806kB Sort Method: quicksort Memory: 977 183kB 3) Sort Method: quicksort Memory: 103 397kB Sort Method: external merge Disk: 3 105 728kB 4) Sort Method: quicksort Memory: 12 760kB Sort Method: quicksort Memory: 3 704 460kB 5) Sort Method: quicksort Memory: 84 862kB Sort Method: external merge Disk: 3 593 120kB 6) Sort Method: quicksort Memory: 4 828kB Sort Method: quicksort Memory: 112 472kB 7) Sort Method: quicksort Memory: 1 490kB Sort Method: quicksort Memory: 81 066kB 8) Sort Method: quicksort Memory: 78174kB Sort Method: quicksort Memory: 2 579 739kB 9) Sort Method: quicksort Memory: 101 717kB Sort Method: quicksort Memory: 2 913 709kB work_mem is set to 4 000 000 kb and I do not understand why few queries (3 and 5) used disk and the rest fit were able to data into memory. Why disk was used and subsequent query was able to sort bigger data set in the memory (see 3 and 4)? The box has 90GB RAM and no other queries run during that time. PG version is: PostgreSQL 8.4.7 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50), 64-bit Thanks, -- Ondrej Ivanic (ondrej.ivanic@xxxxxxxxx) -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general