Windows: Cómo ejecutar PostgreSQL sin instalación (portable)
Introducción
Ejecutar un servidor de base de datos PostgreSQL en Windows se suele hacer instalando el servidor PostgreSQL con el instalador oficial. No obstante, hay muchos escenarios en los que es posible que sea preferible ejecutar un servidor PostgreSQL sin instalarlo en el sistema.
En este artículo, te mostraré cómo ejecutar un servidor PostgreSQL en Windows sin instalarlo y cómo gestionarlo como un servicio de Windows.
Descargando PostgreSQL
El primer paso es descargar los binarios de PostgreSQL. En general, PostgreSQL se puede descargar desde postgresql.org. Sin embargo, la página web oficial de la comunidad solo aloja el instalador para Windows. Los paquetes solo de binarios están disponibles en la página web comercial de EnterpriseDB.
Puedes descargar los binarios de PostgreSQL desde la página web de EnterpriseDB.
Extrayendo los binarios de PostgreSQL
El siguiente paso es extraer el archivo descargado en un directorio de tu elección. Ten en cuenta que este es el directorio desde el que se ejecutará el servidor PostgreSQL.
Inicializando la base de datos PostgreSQL
Antes de poder iniciar el servidor PostgreSQL, necesitas inicializar la base de datos. Para ello, abre una terminal y navega hasta el directorio donde extrajiste los binarios de PostgreSQL.
A continuación, ejecuta el siguiente comando para inicializar la base de datos:
.\bin\initdb.exe -D data -U postgres -W -E UTF8 -A scram-sha-256
La siguiente tabla describe los parámetros utilizados en el comando initdb
:
Parámetro | Descripción |
---|---|
-D data | Establece el directorio donde se creará el clúster de la base de datos. En este caso .\data . |
-U postgres | Especifica el usuario que será propietario del clúster de la base de datos. En este caso postgres . |
-W | Solicita la contraseña del usuario especificado con el parámetro -U . |
-E UTF8 | Establece la codificación de la base de datos. En este caso UTF8 . |
-A scram-sha-256 | Establece el método de autenticación para la base de datos. En este caso, autenticación por contraseña. |
En este caso, he optado por crear el directorio de datos en el mismo directorio donde se extrajeron los binarios de PostgreSQL. Sin embargo, puedes especificar cualquier directorio que desees, incluso en una unidad diferente.
Iniciando el servidor PostgreSQL
Para iniciar el servidor PostgreSQL, ejecuta el siguiente comando:
.\bin\pg_ctl.exe start -D data
El comando iniciará el servidor PostgreSQL en segundo plano y mostrará server started
cuando el servidor esté listo.
Deteniendo el servidor PostgreSQL
Para detener el servidor PostgreSQL, ejecuta el siguiente comando:
.\bin\pg_ctl.exe stop -D data
Cuando el servidor se detenga, mostrará server stopped
.
Ejecutando PostgreSQL como un servicio de Windows
Se requieren privilegios de administrador para ejecutar los siguientes comandos.
Opcionalmente, puedes ejecutar el servidor PostgreSQL como un servicio de Windows. Para hacerlo, necesitas instalar el servicio ejecutando el siguiente comando:
.\bin\pg_ctl.exe register -N PostgreSQL -D data
El comando instalará el servidor PostgreSQL como un servicio de Windows con el nombre PostgreSQL
.
Para eliminar el servicio, puedes ejecutar el siguiente comando:
.\bin\pg_ctl.exe unregister -N PostgreSQL
Ten en cuenta que debes especificar el mismo nombre que usaste al instalar el servicio.
Herramientas adicionales
Además de los binarios del servidor PostgreSQL, el archivo también contiene la herramienta de línea de comandos psql
y la interfaz gráfica de usuario pgAdmin
.
La herramienta de línea de comandos psql
se puede utilizar para interactuar con el servidor PostgreSQL desde la línea de comandos.
Puedes encontrarla en el directorio .\bin
.
La interfaz gráfica de usuario pgAdmin
se puede utilizar para gestionar el servidor PostgreSQL de una manera más amigable para el usuario.
Puedes encontrarla en el directorio .\pgAdmin
.