Cambiar el puerto de PostgreSQL usando la línea de comando

Mi puerto predeterminado de PostgreSQL es 5432, quiero cambiar el puerto predeterminado usando la línea de comando (en Windows 7).

Vi esta solución antes: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

Intenté ejecutar lo siguiente comando, pero falló:

 postgres --p 5431  

¿Podría alguien decirme cómo cambiar el puerto en el uso de la línea de comandos?

Respuesta

Ya que «está en Windows y probablemente esté iniciando PostgreSQL como un servicio de Windows,» Necesitaré editar postgresql.conf (dentro de su directorio de datos) para establecer el nuevo puerto allí, luego reiniciar el servicio postgresql usando el panel de control de Servicios o (como administrador) el net service comando.

Puede usar una herramienta de edición de texto mediante programación para cambiar postgresql.conf si necesita automatizar esto. En una caja Linux / Unix, usarías una herramienta como sed o awk, pero en Windows, imagino que usarás VBS. , powershell o una herramienta complementaria como Perl.

Deberá cambiar la configuración de conexión en herramientas como PgAdmin-III para usar el nuevo puerto.

Si estaba iniciando PostgreSQL manualmente usando pg_ctl, podría configurar la variable de entorno PGPORT o pasar una opción de configuración en el línea de comandos. Esto no funcionará cuando lo esté iniciando como un servicio de Windows.

Comentarios

  • I ' m usando " Swiss File Knife " para reemplazar archivos de texto en Windows.
  • @a_horse_with_no_name Herramienta útil cuando no ' no tiene fileutils / coreutils / etc; gracias por el consejo.
  • Entonces puedo ' ¿No usa la línea de comando para cambiar el puerto pgsql en Windows?
  • @NickHung Sí, como se explicó anteriormente, puede usar un procesador de texto para cambiar el archivo de configuración, o no ' t ejecute PostgreSQL como un servicio de Windows y en su lugar inícielo con pg_ctl.

Responder

  • ir a .. \ PostgreSQL \ 9.0 \ data y abra el archivo postgresql.conf en el editor de texto / bloc de notas
  • busque el parámetro de puerto .eg: port = 5433
  • edítelo a su número de puerto.
  • Vaya a ejecutar type services.msc y reinicie el servicio postgresql.

puede verificar si el parámetro está configurado o no a través de la herramienta de consulta. simplemente ejecute la consulta show port. mostrará su número de puerto actual. Si está usando pgAdmin para conectarse a db, asegúrese de cambiar su número de puerto en la configuración de conexión.

Respuesta

Una solución que sí No requiere ningún reemplazo de texto o técnicas similares es configurar el puerto diferente en un archivo de configuración separado, luego agregar una directiva de inclusión al archivo postgresql.conf.

Por ejemplo,

 echo port = 5431 > \path\to\datadir\custom.conf echo include custom.conf>> \path\to\datadir\postgresql.conf  

(Por supuesto \path\to\datadir\ debe reemplazarse con la ruta correcta)

El primer comando echo crea un nuevo archivo con solo la configuración del puerto. El segundo agrega una directiva de inclusión al archivo de configuración de postgres existente. Como la configuración «posterior» anula la configuración «anterior» del archivo, cualquier configuración de puerto realizada en postgresql.conf se sobrescribirá con la del archivo de configuración personalizado.

Deja una respuesta

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