Para um aplicativo SAAS grande (suportado pelo PostgreSql 9.4), com mais de 300.000 contas (e em crescimento), quais são os prós e os contras de usar um esquema por conta para particionar os dados versus colocar todos os dados em um esquema e usar chaves estrangeiras para particioná-lo nas consultas?
Eu sei que no passado o pg_dump era dolorosamente lento ao trabalhar com muitos esquemas, mas não tenho certeza se esse é o caso hoje. Também estou ciente de que qualquer alteração na estrutura do banco de dados precisará ser feita em todos os esquemas. E sei que, do lado positivo, é fácil mover um esquema de um servidor físico para outro, além de restaurar um esquema do backup, sem mencionar que faz sentido particionar dados dessa maneira.
Então, quais são os prós e os contras que estou perdendo?