Saltar al contenido

¿Confusión de puerto postgresql 5433 o 5432?

No dudes en divulgar nuestra web y códigos con otro, necesitamos tu ayuda para ampliar nuestra comunidad.

Solución:

/etc/services es solo un consejo, es una lista de puertos conocidos. No significa que realmente se esté ejecutando algo en ese puerto o que el servicio mencionado se ejecutará en ese puerto.

En el caso de PostgreSQL, es típico usar el puerto 5432 si está disponible. Si no es así, la mayoría de los instaladores elegirán el próximo puerto libre, generalmente 5433.

Puede ver lo que realmente se está ejecutando usando el netstat herramienta (disponible en OS X, Windows y Linux, con sintaxis de línea de comandos que varía en los tres).

Esto se complica aún más en los sistemas Mac OS X por el horrible desorden de los diferentes paquetes de PostgreSQL: la versión antigua de PostgreSQL de Apple integrada en el sistema operativo, Postgres.app, Homebrew, Macports, el instalador de EnterpriseDB, etc.

Lo que termina sucediendo es que el usuario instala Pg e inicia un servidor desde un paquete, pero usa el psql y libpq cliente de un embalaje diferente. Por lo general, esto ocurre cuando ejecutan Postgres.app o homebrew Pg y se conectan con el psql que se envió con el sistema operativo. No solo estos a veces tienen diferentes puertos predeterminados, sino que el Pg que se envió con Mac OS X tiene un puerto diferente. ruta de socket unix predeterminadapor lo que incluso si el servidor se ejecuta en el mismo puerto, no escuchará el mismo socket de Unix.

La mayoría de los usuarios de Mac solucionan esto simplemente usando tcp/ip con psql -h localhost. También puede especificar un puerto si es necesario, por ejemplo psql -h localhost -p 5433. Es posible que tenga varias instancias de PostgreSQL ejecutándose, así que asegúrese de conectarse a la correcta usando select version() y SHOW data_directory;.

También puede especificar un directorio de socket de Unix; comprobar el unix_socket_directories configuración de la instancia de PostgreSQL a la que desea conectarse y especifíquelo con psql -hp.ejpsql -h /tmp.

Una solución más limpia es corregir su sistema PATH de manera que la psql y libpq asociado con el PostgreSQL que está ejecutando en realidad es lo que se encuentra primero en el PATH. Los detalles de eso dependen de su versión de Mac OS X y de los paquetes de Pg que haya instalado. No uso Mac y no puedo ofrecer muchos más detalles de ese lado sin gastar más tiempo del que está disponible actualmente.

Respuesta rápida en OSX, configure sus variables de entorno.

>export PGHOST=localhost

>export PGPORT=5432

O lo que necesites.

El puerto predeterminado de Postgres se configura comúnmente en:

sudo vi //data/postgresql.conf

En Ubuntu esto podría ser:

sudo vi //main/postgresql.conf

Buscar port en este archivo.

Comentarios y valoraciones del post

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *