Onde está o initdb no Ubuntu

16

Quero redefinir meu banco de dados postgresql de volta à sua condição inicial após a instalação. Aparentemente, o initdb é a maneira de fazer isso, mas embora o comando tenha uma página de manual, ele não parece estar em nenhum lugar do meu sistema Ubuntu 10.10.

Alguém sabe como isso deve ser feito no Ubuntu?

John Lawrence Aspden
fonte
O initdb está em algum lugar do seu sistema, o PostgreSQL precisa dele para começar.
Frank Heikens

Respostas:

13

Pessoalmente, acho que seria melhor você seguir os comandos específicos do Ubuntu, pg_lsclusters, pg_dropcluster e pg_createcluster. Essas funções do wrapper tratam de todas as partes do layout do sistema de arquivos e chamam initdb quando necessário. Não é que você não possa usar os comandos diretos, mas já vi muitas pessoas se metendo em problemas nos quais eles ignoravam partes da configuração normal do ubuntu / debian e depois enfrentavam problemas quando certas suposições não eram atendidas. Você tem uma solução de embalagem, aproveite-a.

xzilla
fonte
11
Para software de servidor, isso é absolutamente invertido. Eu decido para onde vão meus arquivos de dados do banco de dados, não os re-empacotadores excessivamente zelosos do Ubuntu. Esse tipo de bobagem é a Figura A por nunca ter rodado um servidor no Ubuntu.
Noah Yetter
2
@NoahYetter: o script não impede que você decida isso; de fato, oferece a -dopção para esse fim. Há muito o que reclamar no Ubuntu, mas ter padrões saudáveis ​​não deve ser um deles.
André Paramés
7

http://ubuntuforums.org/showthread.php?t=694887 sugere que você queira procurar /usr/lib/postgresql/$postgres_version/binonde também deve encontrar createdb, createuser e similares, se precisar deles.

Substitua sua versão do postgres conforme apropriado, obviamente!

(Como uma dica mais geral: locate initdbprovavelmente você teria fornecido a resposta. Não tenho uma máquina Ubuntu com PG instalada para verificar a resposta ou esse fato!)

James Green
fonte