CONTENIDO
- Descargar el zip
- Extraer el contenido
- Crear carpeta para las configuraciones
- Configuración inicial
- Lanzar y detener el servidor
- Configurar PostgreSQL como un servicio
- Agregar al PATH
- Conectarse al servidor de PostgreSQL
- Operaciones básicas en psql
Descargar binarios
Lo podemos descargar desde la siguiente web ▶ aquí.
Selecciona alguna versión de acuerdo a la arquitectura y plataforma de tu computadora.
Extraer contenido
Extraemos los archivos en la siguiente ubicación 📂 ➡ C:\pgsql_14 (puedes elegir otro destino para descargar los archivos).
Otra forma es usar la herramienta tar.exe que se agrego a Windows 10 (1903) desde la compilación 17063 o posterior.
tar -xvf archivo-zip-postgresql.zip -C C:\

Crear carpeta data⚓
Debemos crear una carpeta donde se almacenarán las configuraciones de nuestro servidor. También se guardarán los datos, usuarios, bases de datos, etc. En mi caso la voy a crear en el mismo nivel en la siguiente ubicación 📂 ➡ C:\pgsql_data
Tradicionalmente, los archivos de configuración y de datos usados por un clúster de base de datos se almacenan juntos dentro del directorio de datos del clúster (podemos utilizar el nombre de la variable de entorno PGDATA para definir la ubicación del directorio de datos). La ubicación común en servidores en Linux es /var/lib/pgsql/data, los archivos de configuración
postgresql.conf
,pg_hba.conf
, ypg_ident.conf
del clúster se almacenan tradicionalmente en PGDATA, aunque es posible colocarlos en otro lugar.
Configuración inicial
Para iniciar una nueva configuración en un cluster de PostgreSQL y crear el rol de superusuario, contraseña, encriptación, y la codificación para las base de datos, haremos uso de la herramienta initdb.
Nos cambiamos al directorio de instalación y entramos a la carpeta bin:
cd C:\pgsql_14\bin
Y ejecutamos el siguiente comando:
initdb.exe -D C:\pgsql_data -U postgres -W -E UTF8 -A scram-sha-256
- -D: especifique el directorio de almacenamiento del clúster de bases de datos (C:\pgsql_data).
- -U postgres: crea al superusuario como postgres.
- -W: Nos solicitará la contraseña para el superusuario.
- -E UTF8: crea la base de datos con codificación UTF-8.
- -A scram-sha-256: habilita la autenticación de contraseña.
Para ver más opciones de initdb en este artículo de la documentación
Iniciar y detener el servidor de PostgreSQL
Para ver el estado del servidor y ver si se encuentra en ejecución o no:
pg_ctl.exe -D C:\pgsql_data -l logfile status
# Otra opción es
pg_isready.exe
pg_ctl.exe -D C:\pgsql_data -l C:\pgsql_data\ start
Para detener el servidor:
pg_ctl.exe -D C:\pgsql_data stop
pg_ctl.exe -D C:\pgsql_data restart
Nota: cualquier acción con el servidor es obligatorio indicar el directorio de datos, al menos que se defina una variable de entorno PGDATA con el valor de la ubicación del cluster de datos.
Registrar como servicio en windows⚓
Para ejecutar este comando debe abrir un CMD como administrador:
pg_ctl.exe register -D C:\pgsql_data -N "postgres14"
Para iniciar el servicio en un CMD como administrador:
sc start "postgres14"
Para eliminar el servicio primero debemos detener el servicio abrimos una sesión CMD como administrador y ejecutamos el comando:
sc stop postgres14
Ahora ya podemos eliminar el servicio con el siguiente comando:
sc delete postgres14
# o también
pg_ctl.exe unregister -N postgre14
Agregar al Path⚓
Para ejecutar después el programa cliente psql desde cualquier ubicación, agregamos esa ubicación a la variable de entorno PATH.
También puede a través de un CMD normal (para que sea disponible para nivel de usuario) o como administrador (para que sea disponible a nivel de sistema):
setx PATH "%path%;"C:\pgsql_14\bin\
Conectarse al servidor⚓
Usando el cliente psql.exe para conectarnos a nuestro servidor. Lo siguiente es llamar al
programa e iniciar sesión indicando el usuario y luego nos pedirá el password.
psql -U postgres
Cuando se le solicite la contraseña, ingrese la contraseña que configuró durante la instalación. El prompt nos indica que estamos conetado con éxito y listo para realizar sentencias SQL.
Operaciones básicas en psql⚓
- Para listar los usuarios, use el comando
\du
- Para enumerar todas las bases de datos, use el comando
\list
o\l
. - Para salir solo escribimos
exit
o\q
. - Para cambiar a una nueva base de datos, use el comando
\connect <database>
o\c <database name>
. - Para mostrar tablas de una base de datos, use el comando
\dt
o\dt+
. - Para realizar una copia de seguridad o un volcado de la base de datos, use el comando:
pg_dump.exe -U postgres -d <database name> -f <path>\backup.sql
- Para importar un archivo
.pgsql
o.sql
existente al servidor de la base de datos, use el siguiente comando.
psql.exe -h <hostname> -U postgres < <path>\backup.sql