Os scripts de inicialização pegarão sua instância de postgres se você a criar com as ferramentas destinadas a trabalhar com esses scripts, ou seja:
- pg_createcluster para criar uma instância (ou cluster na terminologia do postgres).
- pg_ctlcluster para controlar uma instância.
Por exemplo, em vez de executar initdb
e supondo que você tenha instalado o pacote postgresql-9.1
, espera-se que você faça:
sudo pg_createcluster --datadir=/data 9.1 mycluster
Em seguida, um diretório específico será criado para essa instância em /etc/postgresql/9.1
para postgresql.conf
e outros arquivos de configuração, entre os quais start.conf
com esses conteúdos:
# Automatic startup configuration
# auto: automatically start/stop the cluster in the init script
# manual: do not start/stop in init scripts, but allow manual startup with
# pg_ctlcluster
# disabled: do not allow manual startup with pg_ctlcluster (this can be easily
# circumvented and is only meant to be a small protection for
# accidents).
auto
Você pode editar esse arquivo para fazer o cluster iniciar automaticamente ou não na inicialização.
Por outro lado, se você tem o know-how do postgres, é possível contornar o modo de pacote do Ubuntu de lidar com o PostgreSQL e emitir diretamente initdb
, postgres -D ...
como mencionado na pergunta, mas então você deve fazer todo o caminho e use seu próprio script de inicialização e arquivos de configuração.
Piggybacking no material empacotado para apenas uma parte do trabalho administrativo tenderá a não funcionar, por exemplo, a edição /etc/postgresql/9.1/postgresql.conf
não conseguirá muito, já que sua chamada initdb
personalizada terá criado o postgresql.conf
logo abaixo do seu O diretório /data
e uma chamada direta de postgres -D /data
selecionará esse arquivo, não aquele sob /etc/...