He estado ejecutando PostgreSQL en Windows Server 2003 sin problemas y es rápido, por lo que responder a mi propia pregunta parece estar bien.
Sin embargo, estoy a punto de lanzar un nuevo proyecto y estoy considerando usar una caja de Linux, ya que la estabilidad y el rendimiento son cruciales. Dado que PostgreSQL parece estar desarrollado principalmente en distribuciones de Linux, ¿tal vez sería mejor quedarse con Linux?
Respuestas:
PostgreSQL definitivamente se ejecutará más rápido en Linux que en Windows (y lo digo como uno de los tipos que escribió el puerto de Windows ...) Está diseñado para una arquitectura de estilo Unix e implementa esta misma arquitectura en Windows, lo que significa que hace una serie de cosas que Windows no está diseñado para hacer bien. Se trabaja muy bien, pero no funciona tan bien.
Por ejemplo, PostgreSQL usa un modelo de proceso por conexión, no subprocesos. Windows está diseñado para hacer subprocesos. Si su aplicación se conecta y desconecta mucho, definitivamente se ejecutará significativamente más lento en Windows, por ejemplo.
También hay algunas suposiciones en torno al sistema de archivos que no favorecen exactamente NTFS.
En lo que realmente debe pensar: si está en Windows, la mayoría de los productos antivirus se averiarán cuando se usen con PostgreSQL, porque no están acostumbrados a este tipo de carga de trabajo (como 1000 procesos diferentes que leen y escriben en el mismo archivo a través de diferentes asas). Eso significa que la recomendación fuerte es siempre desinstalar cualquier antivirus si es posible (simplemente deshabilitarlo o excluir los procesos / archivos PostgreSQL a menudo no es suficiente). Y esto no es solo por razones de rendimiento, sino también por estabilidad bajo carga.
fuente
Esto es difícil de responder: como señaló Ken, Postgres no hace ninguna diferencia entre el sistema operativo y es tan estable / inestable en Windows como lo es en Linux.
La única respuesta real a esta pregunta es: pruébalo.
Configure un servidor Linux y un servidor Windows con las mismas especificaciones, use la misma cantidad de datos en ambas máquinas y ejecute sus pruebas.
PD: Esto tiene votos cerrados porque se puede pedir mejor en serverfault
fuente
Tengo entendido que, para el mismo hardware, obtendrá un mejor rendimiento en Linux en comparación con Windows. Además, aunque Postgres se ejecuta en Windows, se ha estado ejecutando en * nix durante mucho, mucho más tiempo. YMMV, por supuesto, dependiendo de su situación.
Una muy buena referencia sobre el rendimiento de Postgres es "PostgreSQL 9.0 High Performance" ( https://www.packtpub.com/postgresql-9-0-high-performance/book ). El título es un poco inapropiado ya que cubre más que la versión 9.0.
fuente
AFAIK Postgres no discrimina, no paralizan las funciones en Windows, ni nada de eso. Entonces, no hay nada sobre Postgres que requiera Linux.
Es mejor que preguntes en general sobre Linux. vs. Windows como una plataforma de servidor general.
OPINIÓN: Pero por mi dinero, un servidor siempre ejecuta Linux. Nunca soñaría con poner un software de servidor de misión crítica en Windows. Solo mis 2 centavos. Fin de la opinión.
fuente
stability and **performance** are crucial