Arnau <arnaulist@andromeiberica.com> writes:
> I have an application that works with multiple customers. Thinking in
> scalability we are thinking in applying the following approaches:
> - Create a separate database instance for each customer.
> - We think that customer's DB will be quite small, about 200MB as
> average.
> - The number of clients, then DDBB, can be significant(thousands).
> - Have as many customers as possible on the same server, so a single
> server could have more than 300 DDBB instances.
This is probably a bad idea, unless each customer's performance demands
are so low that you can afford to use very small shared-memory settings
for each instance. But even small settings will probably eat ~10MB per
instance --- can you afford to build these machines with multiple GB of
RAM?
Can you instead run things with one postmaster per machine and one
database per customer within that instance? From a performance
perspective this is likely to work much better.
If you desire to give the customers database-superuser capability then
this probably won't do, but if they are restricted users it might be OK.
regards, tom lane