Como colocar limitação de memoria na base de dados Postgre?

3 respostas Resolvido
W

Saudação para todos,

Vou vender um projeto que é um site de noticias, onde o usuário precisará postar as noticias como se fosse um blog, porém estou usando o servidor Heroku que o modelo grátis somente disponibiliza 512 Megas de espaço para o banco, gostaria de ter uma procedure que a base de dados ao atingir o limite de 120 Megas ele começasse a deletar os registro do banco começando do ultimo registro.

Eu acho que um algoritmo como esse deve ser o mesmo para qualquer banco de dados, alguém teria condições de disponibilizar para mim um algoritmo que pudesse fazer isso por mim para minha base de dados?

3 Respostas

J
Solucao aceita

Delete os registros desejados observando os itens abaixo, até que fique no tamanho desejado.

https://makandracards.com/makandra/37935-postgresql-show-size-of-all-databases

J

Para quem já fez um sistema acessando banco de dados, a rotina é bem simples de programar:

1 - Como explicado no link acima, executar o VACUUM via SQL, por exemplo:

VACUUM ANALYZE

2 - Obter tamanho do banco via SQL:

SELECT pg_database_size(pg_database.datname)/1024/1024 AS size_in_mb 
FROM pg_database
WHERE pg_database.datname = 'seu_banco'

3 - Se o tamanho retornado for maior que 120, delete os registros que quiser e execute o passo 1 novamente.

J

Te passei o que pediu, mas lembre-se que memória RAM é diferente de espaço em disco.

Criado 25 de fevereiro de 2018
Ultima resposta 25 de fev. de 2018
Respostas 3
Participantes 2