Any rules of thumb for work_mem
, maintenance_work_mem
, shared_buffer
, etc. for a database that DOESN'T anticipate concurrent connections and that is doing lots of aggregate functions?
I'm a social scientist looking to use Postgres not as a database to be shared by multiple users, but rather as my own tool for manipulating a massive data set (I have 5 billion transaction records (600gb in csv) and want to pull out unique user pairs, estimate aggregates for individual users, etc.).
All the advice I can find online on tuning (this, this, this etc.) is written for people anticipating lots of concurrent connections. Anyone have basic rules of thumb for someone working on a database alone for data manipulation?
UPDATE: - This also means almost no writing, except to creation of new tables based on selections from the main table. (Apparently that's important -- thanks Erwin!)
Updated 2: - I'm on a Windows 8 VM with 16gb ram, SCSI VMware HD, and 3 cores if that's important.