Impedindo que o PostgreSQL inicie na inicialização no Ubuntu

28

Estou usando o PostgreSQL 9.2 e ele é executado automaticamente quando inicio o sistema (Kubuntu).

Como posso evitar isso?

Preciso iniciá-lo manualmente e não quero que seja iniciado sem supervisão, pois preciso olhar para o console.

DarkCoffee
fonte

Respostas:

48

O Ubuntu ou o Debian podem executar várias instâncias do PostgreSQL e fornecer uma maneira específica de iniciar automaticamente / parar / iniciar cada cluster.

Deve haver um arquivo nomeado start.confdentro /etc/postgresql/9.2/main(ou mais geralmente / etc / postgresql / < version > / < clustername >) com este conteúdo auto-explicativo:

# Configuração de inicialização automática
# auto: inicia / interrompe automaticamente o cluster no script init
# manual: não inicia / para nos scripts init, mas permite a inicialização manual com
# pg_ctlcluster
# disabled: não permita inicialização manual com pg_ctlcluster (isso pode ser facilmente
# contornado e deve ser apenas uma pequena proteção para
# acidentes).

auto

Se você substituir auto pelo manual , poderá iniciar esta instância do PostgreSQL somente quando desejado com o comando:

sudo pg_ctlcluster 9.2 main start

Quanto à visualização do console, o que você deve desejar é executar isso em um terminal quando você trabalha com o banco de dados:

tail -f /var/log/postgresql/postgresql-9.2-main.log
Daniel Vérité
fonte
3

Termo curto

O comando /usr/sbin/update-rc.dé usado para iniciar, parar, ativar ou desativar serviços (por exemplo, remover os links de script init do estilo System-V do /etc/init.d/).

Digite man update-rc.dpara se familiarizar com o comando e seus parâmetros.

Aqui estão alguns exemplos da página de manual update-rc.d ubuntu 16.10 (yakkety) :

update-rc.d -f foobar remove
update-rc.d foobar stop 20 2 3 4 5

Em seguida, digite algo na linha de sudo update-rc.d [service] disablequalquer serviço listado no seu diretório /etc/init.d/. Isso impedirá que o [serviço] inicie na inicialização. Se você também deseja desligar o serviço imediatamente, tentesudo service [service] stop

Longo prazo

Você provavelmente não precisa executar o PostgreSQL manualmente para ver a saída do console. Você só precisa registrar essa saída e ajustar o arquivo de log.

mikemcc
fonte