Daniel,
El tema de las variables de entorno es por dos motivos:
1) Para poder instalar y correr el postgres.
2) Para poder ejecutar el Java adecuadamente.
El tema del postgres, son las variables como el PATH para poder encontrar algunos comandos.
El tema de JAVA (JAVA_HOME, PATH, etc) es porque Java trabaja así. La manera en que las aplicaciones encuentran los ejecutables de JAVA es mediante esa variable.
Las variables de entorno son un mecanismo que sirve tanto en Linux como en Windows.
Otros programas utilizan el registro (registry) de Windows, pero eso solo existe en Windows y Libertya es multiplataforma, por lo que esa alternativa (propietaria) no es viable.
Espero haber clarificado un poco tu duda.
Saludos
Antonio.