On starting Mingle with Postgres database, it is normal to find many instances of postgres.exe listed in Windows Task Manager.
PostgreSQL is process based, so it starts one postgres.exe on Windows instance per connection. The postmaster (which accepts connections and starts new postgres instances for them) is always running. In addition, PostgreSQL generally has one or more "helper" processes like the stats collector, background writer, autovacuum daemon, walsender, etc, all of which show up as "postgres" instances. In attached screenshot, I selected a few additional columns ('command line' in particular) in the task manager and found that although these processes showed up as postgres.exe they were actually backend processes (idenfied with -forkbackend under the 'command line' column of task manager) or boot processes (idenfied with -forkboot) or the log process (idenfied with -forklog) etc.
Despite the number of processes, they actually use very little in the way of real resources.
Each postgres.exe attaches to a shared memory area. This means that you could be using 2 GB of memory (total) for your postgres database, when it looks like you're using 20 GB of memory. (10 backends all showing 2 GB each). The reality is... you're not using (mem * num of postgres.exe)
Comments
1 comment
more to Linux and you will be fine :)
Please sign in to leave a comment.