Esto es correcto.
Por favor no use el puerto 5432 para PostgreSQL. Elija un puerto no predeterminado que esté fuera de ese rango, como 5599 o algo así. Cambie el puerto modificando postgresql.conf y configurando el port
directiva. Puede que le resulte útil simplemente agregar include_dir = conf.d
o similar en su principal postgresql.conf
luego crea un datadir\conf.d\myapp.conf
con sus anulaciones de configuración.
Para establecer la contraseña para initdb
sin un aviso, pase el --pwfile=/path/to/file
opción. La primera línea se leerá como la contraseña. Ver initdb.
Su plan de desinstalación es razonable y correcto.
Sin embargo, piense en las actualizaciones:no se pinte a sí mismo en una esquina. Querrá poder instalar 9.5 en paralelo a 9.4 y pg_upgrade
, a menos que solo quiera usar volcar y restaurar.
Sugiero instalar los binarios de PostgreSQL en %PROGRAMFILES%\MyApp\PostgreSQL\9.4
. Probablemente debería poner la base de datos en %PROGRAMDATA%\MyApp\PostgreSQL\9.4
en lugar del %PROGRAMFILES%
de tu aplicación directorio. (El instalador de PostgreSQL debería hacer lo mismo; su comportamiento actual es un artefacto histórico que debería corregirse).
Documente que su aplicación incluye PostgreSQL para que nadie la "limpie", y para que no tengamos otra aplicación arrojando usuarios confundidos a pgsql-general. Es agotador explicar a los usuarios enojados que "nosotros" no instalamos PostgreSQL en su sistema, no podemos eliminarlo, probablemente esté allí porque fue instalado por algo que usan, y si lo eliminan, eso dejará de funcionar. . Del mismo modo, se vuelve agotador explicarles a los usuarios que acaban de eliminar los procesos de PostgreSQL y eliminaron su directorio de datos de PostgreSQL que no podemos recuperar su base de datos de Poker Tracker (o lo que sea) porque la acaban de eliminar...
Asegúrese de que su aplicación exponga la funcionalidad para realizar volcados y restauraciones de PostgreSQL para los usuarios.
El manual del usuario debe explicar claramente que deben realizar copias de seguridad adicionales para proteger los datos en su aplicación. No puede simplemente usar Copia de seguridad de Windows para obtener una copia de seguridad de PostgreSQL confiable porque son varios archivos que deben copiarse juntos; copiará cada archivo correctamente, pero el resultado combinado será inutilizable a menos que se detenga PostgreSQL antes de la copia de seguridad. Para hacer una copia de seguridad en vivo, debe seguir pasos especiales:pg_start_backup()
, copiar, pg_stop_backup()
y archive los segmentos WAL adicionales, o use pg_basebackup
.