Como desinstalar o Postgresql corretamente?

1

Eu mexi no banco de dados template1 e gostaria de redefinir tudo como estava.

Por isso, fiz um sudo apt-get purge postgresql

No entanto, da próxima vez que eu reinstalei, os bancos de dados ainda estão lá. Por quê? Nada foi redefinido.

    
por Houman 07.07.2012 / 10:51

2 respostas

3

Quando você cria seus bancos de dados, os arquivos de dados para esses bancos de dados são criados. Estes são (claro) não sendo expurgados por purgação apt.

Se /etc/postgresql/8.4/main/postgresql.conf (presumivelmente não é 8.4 - use sua versão ') ainda existir, você pode encontrar uma linha como

  

data_directory = '/var/lib/postgresql/8.4/main' # usa dados em outro diretório

Lá você pode encontrar os arquivos de dados para seus bancos de dados criados. Se você criou seus próprios diretórios de dados, acredito que você se lembra onde eles estavam.

O usuário postgresql ainda existe? Este é o proprietário dos arquivos de banco de dados. Exclua este usuário procurando por todos os arquivos dele (use sth como deluser --remove-all-files , man deluser ajuda você). Se este usuário não existir, find todos os arquivos em seu sistema de arquivos que não tenham um usuário associado e talvez os excluam. (Use find / -nouser -nogroup - e, novamente, leia man find :-))

Para mais informações, consulte a maravilhosa documentação do postgresql .

    
por ohno 07.07.2012 / 11:58
1

Você não precisa instalar e reinstalar o PostgreSQL para isso.

sudo -u postgres psql postgres
drop database template1;
create database template1 template template0;
    
por Craig Ringer 08.07.2012 / 04:40