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

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?

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

1 curtida

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.

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