On 10/19/11 2:46 AM, d.davolio@xxxxxxxxxxxxxxxxx wrote:
Hi everybody, I googled a bit around and also checked the mailing lists but I still can't make an idea. We plan to use postgres 9 and the Cluster Database Replica. My colleagues are asking how many Cluster Databases (initdb) can I create and run on a single server. I mean, supposed my server has the resources, can I create 100 or even 200 Cluster Databases? Everyone with the right configuration and in respect of the requisites? Or the postgres architecture doesn't provide similar numbers? We are thinking to use the replica from near 200 databases around the internet on a single db server.
You don't need to do initdb on each one. Postgres can create many databases on a single server and manage them without difficulty. We currently operate about 300 databases on a single server. Most are small, and one is an aggregate of all the small ones. I believe there are sites that have >1000 separate databases on one server. Postgres has a slightly different concept of a "database" than Oracle or MySQL, which is why your question about initdb is slightly off. You can indeed create several separate instances of Postgres (separate initdb for each), but the only reason you ever need to do that is if you're running different versions of Postgres (like 8.4 and 9.0) simultaneously. Postgres runs into problems when the total number of objects (tables, views, sequences, ...) across all databases gets very large, where "very large" is ill defined but is somewhere between a few hundred thousand and a million. We once had a rogue process that created 5 million tables, and we had to completely abandon the installation because of some sort of N^2 phenomenon that made it impossible to even use pg_dump to save and restore the system. So the advice is, "don't do dumb stuff like that" and you should be able to manage many databases. Craig -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance