What is the memory/cpu/other requirements to run PostgreSQL database server efficiently ? Is a way to appoint a hardware configuration for some sort of requirements - for example number of users, number of queries etc ?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
PostgreSQL is open source and you can use on almost any Linux/UNIX-like machine, plus Windows and Mac OS X. See the buildfarm for a list of known-working configurations. Precompiled binary installers and/or packages are available for popular platforms. I had some problems compiling it on AIX, but it was because I used
The minimum RAM you will need is 32MB, and you'll need least 50KB of disk space. As with any other database everything depends of the queries you are going to do, how many users you will have, what your performance requirements are, etc.
If you can, try to divide your DB between different physical hard drives (eg WAL on one, main tables + indexes on another), tune
I recommend that you to read Greg Smith's book PostgreSQL High Performance.
First, the minimum requirements will be met by almost any machine. PostgreSQL can start and run (for a small db with few concurrent connections!) on very modest hardware. As of 9.2 you can get linear scalability for reads up to about 64 cores, and for writes up to around 20 cores, if I understand Robert Haas's blog posts correctly. In general you need less CPU speed and more cores, and better disk I/O to get the best performance.
So PostgreSQL scales down pretty well, and it also scales up quite well. As for your questions about configuration, you can set maximum number of users, max timeouts for queries, and logging of slow queries in the postgresql.conf.