Isso está certo.
Por favor, não use a porta 5432 para PostgreSQL. Escolha uma porta não padrão bem fora desse intervalo, como 5599 ou algo assim. Altere a porta modificando postgresql.conf e configurando a
port
diretiva. Você pode achar útil simplesmente anexar include_dir = conf.d
ou similar em seu postgresql.conf
principal em seguida, crie um datadir\conf.d\myapp.conf
com suas substituições de configuração. Para definir a senha para
initdb
sem um prompt, passe o --pwfile=/path/to/file
opção. A primeira linha será lida como a senha. Veja initdb. Seu plano de desinstalação é razoável e correto.
No entanto, pense em atualizações - não se encurrale. Você poderá instalar o 9.5 em paralelo com o 9.4 e
pg_upgrade
, a menos que você queira apenas usar dump e restore. Sugiro instalar os binários do PostgreSQL em
%PROGRAMFILES%\MyApp\PostgreSQL\9.4
. Você provavelmente deve colocar o banco de dados em %PROGRAMDATA%\MyApp\PostgreSQL\9.4
em vez do %PROGRAMFILES%
do seu aplicativo diretório. (O instalador do PostgreSQL deve fazer o mesmo; seu comportamento atual é um artefato histórico que deve ser corrigido). Por favor, documente que seu aplicativo agrupa o PostgreSQL para que ninguém o "limpe" e, portanto, não tenhamos outro aplicativo vomitando usuários confusos no pgsql-general. Fica cansativo explicar aos usuários irritados que "nós" não instalamos o PostgreSQL em seu sistema, não podemos removê-lo, provavelmente está lá porque foi instalado por algo que eles usam, e se eles o excluirem, isso parará de funcionar . Da mesma forma, fica cansativo explicar aos usuários que acabaram de matar os processos do PostgreSQL e deletar o diretório de dados do PostgreSQL que não podemos recuperar o banco de dados do Poker Tracker (ou qualquer outro) porque eles acabaram de excluí-lo ...
Certifique-se de que seu aplicativo exponha a funcionalidade para fazer dumps e restaurações do PostgreSQL para os usuários.
O manual do usuário deve explicar claramente que eles precisam realizar etapas extras de backup para proteger os dados em seu aplicativo. Você não pode simplesmente usar o Backup do Windows para obter um backup confiável do PostgreSQL porque são vários arquivos que devem ser copiados juntos; ele copiará cada arquivo OK, mas o resultado combinado será inutilizável, a menos que o PostgreSQL tenha sido interrompido antes do backup. Para fazer um backup ao vivo, você precisa seguir etapas especiais -
pg_start_backup()
, copiar, pg_stop_backup()
e arquive os segmentos WAL extras ou use pg_basebackup
.