28 Oct 2022
- La instalación será por línea de comandos desde la terminal.
- Éste blog está realizado porque he tenido muchos problemas al instalarlo, por tanto, decidí registrarlo para ayudar a otras personas.
- La última versión stable que se instala a la fecha de hoy es PostgreSQL 14.
Se actualizarán todos los paquetes y aplicaciones del sistema operativo. (Esperan a que termine de instalarse todo o puede que ser también que ya esté todo actualizado.)
sudo dnf update -y && sudo dnf upgrade -y
sudo dnf install postgresql postgresql-server -y
sudo -u postgres psql
Se mostrará un error como el siguiente:
*could not change directory to "/home/alfreding0": Permission denied
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?*
SI EN CASO NO TE SALIÓ ESTE ERROR, PUEDES PASAR DIRECTAMENTE AL [[PASO Nº7]][7].
sudo systemctl status postgresql.service
Se mostrará lo siguiente:
*\ postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: inactive (dead)*
sudo systemctl start postgresql.service
Se mostrará lo siguiente:
*Job for postgresql.service failed because the control process exited with error code.
See "systemctl status postgresql.service" and "journalctl -xeu postgresql.service" for details.*
6. Configuración según la guía oficial de PostgreSQL
sudo postgresql-setup --initdb
Se mostrará lo siguiente:
*Initializing database in '/var/lib/pgsql/data'
Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log*
sudo systemctl enable postgresql.service
Se mostrará lo siguiente:
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
sudo systemctl start postgresql.service
No se mostrará ninguna salida
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sudo -u postgres psql
Se mostrará lo siguiente:
*could not change directory to "/root": Permission denied
psql (14.3)
Type "help" for help.
postgres=#*
8. Hasta el paso anterior significa que el servidor de PostgreSQL está listo. Cambiemos la contraseña del super usuario de PostgreSQL "postgres"
Estando dentro del cliente de consola de postgresql (psql), escribir el comando \password, presionar enter e inmediatamente se mostrará la opción para ingresar la nueva contraseña, y luego repetir la contraseña, algo similar a lo siguiente:
postgres=# \password
*Enter new password for user "postgres":
Enter it again:
postgres=# *
Salir de la consola de PostgreSQL (psql)
postgres=# \quit
psql -U postgres -d postgres -h localhost
Se mostrará lo siguiente:
psql: error: connection to server at "localhost" (::1), port 5432 failed: FATAL: Ident authentication failed for user "postgres"
Para ello lo buscaremos en todo el sistema porque algunas veces podría cambiar la ubicación.
sudo find / -iname "pg_hba.conf"
En este caso, se muestra lo siguiente:
/var/lib/pgsql/data/pg_hba.conf
En caso de tener otro resultado, manejar ese resultado para ustedes.
Tener en cuenta que la ruta del archivo, es según el resultado del paso anterior.
sudo cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.copy
sudo vim /var/lib/pgsql/data/pg_hba.conf
Aproximadamente entre la línea 80 y 90, que están casi al final, encontrar algo similar a lo siguiente:
sudo systemctl reload postgresql.service
sudo systemctl status postgresql.service
Se mostrará lo siguiente:
*postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-10-29 03:11:27 UTC; 27min ago
Process: 14277 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
Process: 14493 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 14279 (postmaster)
Tasks: 8 (limit: 9492)
Memory: 18.8M
CPU: 264ms CGroup: /system.slice/postgresql.service ├─14279 /usr/bin/postmaster -D /var/lib/pgsql/data ├─14280 "postgres: logger " ├─14282 "postgres: checkpointer "*
psql -U postgres -d postgres -h localhost
Se mostrará lo siguiente:
*Password for user postgres:
psql (14.3)
Type "help" for help.
Salir de la consola de PostgreSQL (psql)
postgres=# \quit
Listo!!! Hemos logrado instalar y configurar el servicio de PostgreSQL.
Recomendado!
- Comandos para utilizar la terminal psql, el cliente consola de PostgreSQL. (Pronto)
- Instalar PgAdmin4, el cliente gráfico de PostgreSQL. (Pronto)

