Eu tenho um banco de dados PostgreSQL em um contêiner docker com 50 MB de dados:
SELECT pg_size_pretty(pg_database_size('db_1'));
pg_size_pretty
------------------
50 MB
mas o tamanho do volume é de 8,5 GB:
sudo du -hd1 db_volume
8.5G db_volume
e meu docker-compose é assim:
version: '3.8'
services:
r3-db:
image: postgres:12
restart: always
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: PASSWORD
POSTGRES_USER: USER
POSTGRES_DB: db_1
volumes:
- ./db_volume/:/var/lib/postgresql/data:Z
Eu tento usar VACUUM(FULL, ANALYZE, VERBOSE)
em qualquer tabela mas o tamanho do arquivo do banco de dados não muda!
O volume contém muitos arquivos nomeados core.NUMBER
com tamanho de 145 MB,
Como posso reduzir o uso do disco do banco de dados?
Esses são dumps de núcleo que são gerados quando o PostgreSQL trava. Você pode usá-los com gdb para talvez descobrir por que está travando. Você pode excluí-los. Você pode salvar um para usá-lo para descobrir por que o PostgreSQL continua travando, pois isso absolutamente não deveria estar acontecendo. Também procure no arquivo de log do PostgreSQL para obter informações sobre por que ele está travando.