Inicie el servidor PostgreSQL en Windows
-
Comandos básicos de inicialización
PG_CTL
en Windows -
Utilice
SERVICES.MSC
paraINICIAR/DETENER
una sesión de PostgreSQL en Windows
Hoy aprenderemos cómo iniciar un servidor PostgreSQL en Windows. En el artículo anterior sobre la descarga e instalación de PostgreSQL en Windows, ya aprendimos cómo iniciar una sesión, crear un USUARIO
, emitir consultas y trabajar con diferentes objetos de la base de datos.
Nuestro tema ahora se centra en intentar ejecutar una sesión de servidor PostgreSQL a la que se pueden conectar otros usuarios en un sistema local.
Comandos básicos de inicialización PG_CTL
en Windows
PG_CTL
es una utilidad utilizada para iniciar y controlar un servidor PostgreSQL. PG_CTL
es una configuración manual para inicializar una sesión de PostgreSQL, ya que proporciona una salida controlada, encapsula diferentes tareas y puede usarse para varias operaciones relacionadas con nuestra base de datos.
Para iniciar un servidor en Windows, vaya a su símbolo del sistema dentro de la instalación de PostgreSQL para la carpeta BIN
.
pg_ctl start -D "[\data folder directory]";
Esto iniciará su servidor PostgreSQL. Para hacer esto en un puerto diferente en su computadora en el que desea que otros usuarios escuchen, use una consulta de la siguiente manera.
pg_ctl -o "-F -p [post_number]" start
Introduzca su NÚMERO DE PUERTO
en el número_puerto
definido sin los corchetes. Esto ayudará a iniciar su servidor y permitirá que otros usuarios se conecten a él en diferentes sistemas.
Sin embargo, si su servidor PostgreSQL se detuvo por algún motivo o por un ligero mal funcionamiento, es mejor que use cualquiera de los siguientes comandos para que funcione.
pg_ctl restart -D "[\data folder];
pg_ctl start company; --may or may not work / may produce errors
...
Muchas veces, no habrá necesidad de hacer nada de esto. Iniciar PGADMIN
, por ejemplo, tiende a crear una sesión de PostgreSQL en un puerto predefinido en su PC
, lo que permite que otros usuarios la descubran fácilmente.
Es posible que no haya necesidad de escribir ninguno de los comandos dados anteriormente para que su servidor PostgreSQL arranque.
Especificar rutas al emitir PG_CTL START/RESTART
en Windows
A veces, llamar a un simple PG_CTL START/RESTART
no es el camino a seguir. Es posible que deba especificar la ruta de la carpeta DATA
dentro de su instalación de PostgreSQL y luego emitir los comandos de arranque.
Llamando a las consultas dadas anteriormente, obtendrá una SALIDA
.
Producción :
pg_ctl: another server might be running; trying to start server anyway
waiting for server to start....2022-04-28 19:28:38.766 PKT [3228] LOG: redirecting log output to logging collector process
2022-04-28 19:28:38.766 PKT [3228] HINT: Future log output will appear in directory "log".
stopped waiting
pg_ctl: could not start server
Examine the log output.
El resultado anterior ocurre cuando un servidor PostgreSQL ya se está ejecutando. Debido a que ya teníamos PGADMIN
iniciado y ejecutándose en segundo plano, llamar a la consulta anterior no podría inicializar un servidor en el puerto que ya se está utilizando.
Sin embargo, hacer algo a continuación ejecutaría servidores separados en la misma PC.
pg_ctl -o "-F -p 5656" start -D "C:\Program Files\PostgreSQL\14\data"
Producción :
waiting for server to start....2022-04-28 19:34:04.588 PKT [11784] LOG: redirecting log output to logging collector process
2022-04-28 19:34:04.588 PKT [11784] HINT: Future log output will appear in directory "log".
done
server started
Del mismo modo, también podría emitir los mismos comandos para REINICIAR
.
pg_ctl restart -D "C:\Program Files\PostgreSQL\14\data"
or
pg_ctl -o "-F -p 5656" restart -D "C:\Program Files\PostgreSQL\14\data"
Producción :
waiting for server to shut down.... done
server stopped
waiting for server to start....2022-04-28 19:35:46.007 PKT [884] LOG: redirecting log output to logging collector process
2022-04-28 19:35:46.007 PKT [884] HINT: Future log output will appear in directory "log".
done
server started
Puede ver en el resultado cómo el servidor primero se apaga porque ya se está ejecutando, luego se reinicia y registra cualquier cambio durante su sesión.
Utilice SERVICES.MSC
para INICIAR/DETENER
una sesión de PostgreSQL en Windows
Ya sabemos que un servidor PostgreSQL se instancia en su PC
cuando lo inicia, ya sea desde PSQL
o PGADMIN
. Podemos hacer algunas cosas en SERVICES.MSC
Para los servicios STOPPED
o PAUSED
, el Administrador de servicios de Windows.
-
Presione Windows+R y escriba
SERVICES.MSC
. -
Una vez que se haya abierto el Administrador de servicios de Windows, busque el servicio del servidor PostgreSQL en la lista. Puede denominarse de la siguiente manera:
postgresql-x64-14 - PostgreSQL Server 14
. -
Haga clic con el botón derecho en este para
INICIAR
,DETENER
,PAUSAR
,REANUDAR
oREINICIAR
su servidor. Incluso puedes cambiar el tiempo de inicio aAUTOMÁTICO
para que se inicie solo la próxima vez.
El Gestor de Servicios también suele decirnos la causa del fallo de un servicio concreto. Para ver la ruta del ejecutable, puede abrir la pestaña General
y verla de la siguiente manera.
Inicie el servidor PostgreSQL desde el COMMAND PROMPT
usando NET START
Podemos usar el comando NET START
para iniciar un servicio desde el símbolo del sistema. La sintaxis es la siguiente.
NET START [service_name]
Es posible que deba encontrar el SERVICE_NAME
para su sesión de PostgreSQL. También se menciona en la pestaña General
.
Ahora puede emitir un comando de la siguiente manera.
net start postgresql-x64-14;
Esto iniciará nuestro servidor y mostrará el resultado de la siguiente manera.
Producción :
The postgresql-x64-14 - PostgreSQL Server 14 service is starting.
The postgresql-x64-14 - PostgreSQL Server 14 service was started successfully.
Sin embargo, recuerde que COMMAND PROMPT
debe iniciarse como ADMINISTRADOR
y no como usuario normal.
Haga clic derecho en el archivo ejecutable CMD.EXE
y haga clic en Ejecutar como administrador
. De lo contrario, obtendrá un error de la siguiente manera.
Producción :
System error 5 has occurred.
Access is denied.
Entonces, hoy aprendimos cómo iniciar un servidor PostgreSQL en Windows de diferentes maneras. Esperamos que lea detenidamente este artículo y pueda utilizarlo según sus necesidades.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub