Si recibes este mensaje mientras tratas de ejecutar el programa cliente psql para conectarte a postgresql 9.3, es debido a un conflicto de versiones. CentOS 6 lleva por defecto con las utilitarias de conexión de la versión 8.4 y al instalar una versión más actual como la 9.3 puede surgir este conflicto.
Para solucionar este problema sigue los siguientes pasos (a mi me funcionó):
Listamos los paquetes que tenemos instalados de postgresql:
# rpm -qa | grep postgres postgresql93-contrib-9.3.10-1PGDG.rhel6.x86_64 postgresql-8.4.20-3.el6_6.x86_64 postgresql-devel-8.4.20-3.el6_6.x86_64 postgresql93-9.3.10-1PGDG.rhel6.x86_64 postgresql93-libs-9.3.10-1PGDG.rhel6.x86_64 postgresql-libs-8.4.20-3.el6_6.x86_64 postgresql93-server-9.3.10-1PGDG.rhel6.x86_64 postgresql93-jdbc-9.3.1101-1PGDG.rhel6.x86_64
Como se puede observar en mi caso, tenemos paquetes de la versión antigua 8.4.x. Procedemos a desinstalar dichos paquetes (yo estoy seguro que no estoy usando la versión 8) con un usuario con derechos administrativos (yo uso el usuario root):
# rpm -e postgresql-devel-8.4.20-3.el6_6.x86_64 # rpm -e postgresql-8.4.20-3.el6_6.x86_64 # rpm -e postgresql-libs-8.4.20-3.el6_6.x86_64
Una vez esto hecho, si intentamos ejecutar el programa cliente psql no funcionará, porque el psql por defecto fue desinstalado y el sistema no lo hallará en la ruta de ejecutables:
# ls /usr/bin/psql ls: cannot access /usr/bin/psql: No such file or directory
Por lo tanto procedemos con el siguiente comando:
# update-alternatives --install /usr/bin/psql pgsql-psql /usr/pgsql-9.3/bin/psql 930
Una vez realizada la ejecución del comando, entramos con cualquier otro usuario y ejecutamos el programa psql para comprobar que el mensaje ha desaparecido:
$ psql -U postgres Password for user postgres: psql (9.3.10) Type "help" for help. postgres=#
¡No olvides visitar a los patrocinadores dando un clic en los anuncios! ¡Me ayudaras a conservar este sitio! ¡Gracias!