En mi caso se trataba de un error provocado por pg_createcluster, una utilidad que utiliza el instalador para asociar una instancia de PostgreSQL a un grupo de bases de datos. El error concreto decía que no podía seleccionar el LOCALE, y que el siguiente comando debía ejecutarse manualmente:
pg_createcluster 8.4 main --start
Sin embargo, al ejecutarlo en la línea de comandos me aparecían los siguientes errores:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "es_CO",
LC_ALL = "en_US",
LANG = "es_CO"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Error: The locale requested by the environment is invalid.
Estos errores pueden haberme aparecido antes en otras situaciones, pero las aplicaciones ignoraban las advertencias y trabajaban con lo que tenían, así que no le puse cuidado. Sin embargo, pg_createcluster no es así de sencillo y se rehusaba a trabajar.
Para solucionar este problema basta con "generar" manualmente los tan llamados locales utilizando el siguiente comando administrativo:
locale-gen en_US
Tal vez quieran ejecutar este otro ya que están en esas:
locale-gen es_CO
Eso es todo. Ya es posible volver a utilizar el comando de arriba:
pg_createcluster 8.4 main --start
Y reiniciar el servidor de PostgreSQL:
service postgresql-8.4 restart
Si están usando Debian el comando puede ser el siguiente:
/etc/init.d/postgresql-8.4 restart
Espero que les haya servido este pequeño post.