Guías sobre temas de bases de datos y programación
Lo podemos descargar desde la siguiente web ▶ aquí.
Selecciona alguna versión de acuerdo a la arquitectura y plataforma de tu computadora.
Extraemos los archivos en la siguiente ubicación 📂 ➡ C:\pgsql (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:\
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.
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\bin
Y ejecutamos el siguiente comando:
initdb.exe -D C:\pgsql_data -U postgres -W -E UTF8 -A scram-sha-256
Opciones:
Para ver más opciones de initdb en este artículo de la documentación
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 usar:
pg_isready.exe
Para iniciar el servidor:
pg_ctl.exe -D C:\pgsql_data -l logfile start
Para detener el servidor:
pg_ctl.exe -D C:\pgsql_data stop
Para reiniciar el servidor:
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.
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 siguiente comando para detener el servicio:
sc stop postgres14
Ahora ya podemos eliminar el servicio con el siguiente comando:
sc delete postgres14
Otra forma también es con la herramienta pg_ctl, pero debemos ubicarnos en la carpeta, en mi caso (C:\pgsql\bin):
pg_ctl.exe unregister -N postgre14
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\
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.
\du
\list
o \l
.exit
o \q
.\connect <database>
o \c <database name>
.\dt
o \dt+
.pg_dump.exe -U postgres -d <database name> -f <path>\backup.sql
.pgsql
o .sql
existente al servidor de la base de datos, use el siguiente comando.psql.exe -h <hostname> -U postgres < <path>\backup.sql