Eu tenho um banco de dados postgresql na /
partição raiz (61 GB usados de 63 GB), então pedi ao provedor VPS para adicionar mais disco (50 GB a /mnt/vdb1
)
Como adicionar outro diretório de dados a essa nova partição (usando link simbólico ou algo assim)?
Para que as tabelas recém-criadas não usem, /var/lib/postgresql/10/main/base
mas usem /mnt/vdb1
. Eu estive procurando, mas parece que vários diretórios de dados estão disponíveis apenas no antigo PostgreSQL 6/7 ?
Como você observou, você pode fazer isso com tablespaces para dividir os dados em várias unidades. Mas usar tablespaces torna coisas como restauração e migração mais difíceis. Além disso, você precisa realmente mover alguns objetos para este espaço, ou não realizará nada. Você o define como o padrão, mas isso se aplica apenas a novos objetos, ele não derramará automaticamente o armazenamento de objetos existentes no novo tablespace. Qualquer objeto único não pode ser dividido.
É realmente necessário? Da unidade principal de 63 GB, quanto disso é usado pelo próprio banco de dados versus outras coisas? Em vez de usar um tablespace, seria mais limpo apenas mover todo o banco de dados para a nova unidade, supondo que ele tenha espaço suficiente para mantê-lo sozinho. Se a maior parte desses 61 GB for para esse banco de dados, é claro que isso não funcionaria. Nesse caso, para tornar as coisas mais fáceis de gerenciar, eu provavelmente descartaria o tablespace e pediria a eles que criassem para você uma única nova unidade grande o suficiente para conter todo o banco de dados sozinho e, em seguida, moveria tudo para ele.
Nevermind encontrou , é chamado
tablespace
agora