Eu preciso ser capaz de executar bancos de dados PostgreSQL fora dos diretórios de instalação padrão, ou seja, executar o existente postgres
ou pg_ctl
processo apontando para as portas alternativas, configuração e diretórios de dados e executá-lo, com permissões etc funcionando bem.
Não quero que dependa das estruturas de configuração de instalação com base no pacote existente /etc/postgresql
e /var/run/postgresql
do postgres
usuário, mas use seus executáveis, se possível.
não vou usar initdb
muito. Os dados serão descompactados de outras instalações. A única coisa necessária é a compatibilidade do banco de dados com as instalações baseadas em pacotes existentes, que posso instalar se estiverem ausentes. Usar executáveis de minha autoria será o último recurso, devido à possibilidade de dependências locais inesperadas.
O Windows parece bem coberto a esse respeito com alguns downloads no EnterpriseDB, mas não parece muito disponível para o Linux.
pg_ctl permite uma
-D
opção que permite que você aponte para seus dados onde quer que estejam.Eu faço isso o tempo todo para ambientes de desenvolvimento e coisas divertidas, como configurar ambientes de replicação intracomputador para teste. Funciona bem.
A única coisa que você realmente precisa ter cuidado é a configuração. Depois de descompactar, você provavelmente deve editar o arquivo
postgresql.conf
apropriadamente.