Cómo instalar PostgreSQL en CentOS 7

Cómo instalar PostgreSQL en CentOS 7

En esta guía vamos a ver cómo instalar PostgreSQL en CentOS 7 paso a paso, para dar soporte a aquellos usuarios que necesitan integrar este motor de bases de datos de código abierto en sus sistemas. Al final de esta guía tendrás el servidor PostgreSQL funcionando en tu sistema Linux CentOS, listo para trabajar con SQL desde el cliente de consola.

Antes de instalar PostgreSQL en CentOS 7

Para poder seguir esta guía de instalación de PostgreSQL en Linux CentOS 7 es necesario cumplir unos mínimos requisitos, poca cosa en realidad:

  • Un sistema Linux CentOS 7 actualizado.
  • Acceso por consola mediante un usuario con privilegios de sudo o root.
  • Conexión a Internet.

Si estás leyendo esta guía es prácticamente seguro que cumples estos requerimientos, así que abramos una consola de comandos y empecemos con el trabajo.

Cómo instalar PostgreSQL en CentOS 7

Vamos a instalar PosgtreSQL en CentOS 7 desde los repositorios de la propia distribución, ya que están disponibles tanto los paquetes del servidor como del cliente.

Antes de empezar es conveniente actualizar la información de los repositorios e incluso los paquetes instalados:

~$ sudo yum -y update

Con las listas de paquetes actualizadas ya podemos instalar PostgreSQL. Instalaremos el paquete postgresql-server entre cuyas dependencias se encuentra también el paquete con los clientes de consola:

~$ sudo yum -y install postgresql-server

Una vez descargados en instalados los paquetes y dependencias se crea un nuevo servicio llamado postgresql. Este servicio NO se activa por defecto para iniciar con el sistema ni está en ejecución aún.

Cómo iniciar PostgreSQL Server en CentOS 7

En primer lugar vamos a activar el servicio postgresql para que inicie junto con CentOS:

~$ sudo systemctl enable postgresql
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.

Aún queda un paso adicional antes de arrancar el servicio, y es que la instalación de PostgreSQL no inicializa sus bases de datos, por lo que debemos realizar esta acción manualmente. Para ello usaremos el comando especial postgreslql-setup como superusuario:

~$ sudo postgresql-setup initdb
Initializing database ... OK

Ahora ya podemos por fin iniciar el servicio mediante el comando start de systemctl:

~$ sudo systemctl start postgresql

Y tendremos el servicio activado y en funcionamiento, cosa que podemos comprobar fácilmente:

~$ systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: active (running) since sáb 2019-07-06 13:38:13 CEST; 5min ago
  Process: 3854 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 3849 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 3857 (postgres)
   CGroup: /system.slice/postgresql.service
           ├─3857 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
           ├─3858 postgres: logger process
           ├─3860 postgres: checkpointer process
           ├─3861 postgres: writer process
           ├─3862 postgres: wal writer process
           ├─3863 postgres: autovacuum launcher process
           └─3864 postgres: stats collector process

... centos7.local systemd[1]: Starting PostgreSQL database server...
... centos7.local systemd[1]: Started PostgreSQL database server.

Justo lo que buscábamos. Vamos a ver alguna cosa más para conectar al servicio desde consola.

Cómo conectar al servicio PostgreSQL en CentOS 7

Durante la instalación se crean un grupo y un usuario postgres con los que funciona el servicio. En teoría nada impide que uses el usuario postgres para conectar con el servidor a través del cliente psql:

~$ sudo -u postgres -i psql
psql (9.2.24)
Digite «help» para obtener ayuda.

postgres=#

Pero lo habitual es que quieras trabajar con tu usuario de CentOS sin usar otro distinto mediante sudo.

PostgreSQL tiene la particularidad de que al iniciar sesión desde consola trata de asociar el usuario del sistema con un rol con el mismo nombre, conectándolo a una base de datos también con el mismo nombre.

Cómo crear un rol para tu usuario de CentOS

Vamos a empezar creando un rol de PostgreSQL con nuestro login de CentOS:

~$ sudo -u postgres -i createuser --interactive
Ingrese el nombre del rol a agregar: chacho
¿Será el nuevo rol un superusuario? (s/n) s

Ya hemos creado el rol chacho (mi usuario en CentOS es chacho). Ahora creamos la base de datos para este nuevo rol, que debe llevar el mismo nombre:

~$ sudo -u postgres -i createdb chacho

Tenemos todo lo que necesitamos, por lo que podemos usar el cliente psql desde consola con nuestro propio usuario:

~$ psql
psql (9.2.24)
Digite «help» para obtener ayuda.

chacho=#

Ahora podemos empezar a trabajar con sentencias SQL ya sea creando tablas, insertando datos, etc.

Pero también es importante saber hacer esto porque muchas veces necesitamos instalar algún tipo de aplicación, framework, CMS, etc. que se apoya sobre PostgreSQL y requiere su propio rol y base de datos para efectuar la instalación.

Conclusión

Ahora que ya sabes cómo instalar PostgreSQL en Linux CentOS 7 puedes dejar el servicio listo para trabajar con otros sistemas y aplicaciones, o para desarrollar tu propia base de datos. Empezar a trabajar con este sistema puede ser un poco más engorroso si estabas acostumbrado a otros motores como MySQL o MariaDB, pero una vez aclarados los pasos iniciales el trabajo diario es similar.

¿Tienes alguna duda o pregunta? ¿Alguna sugerencia o has apreciado algún error y quieres notificarlo? No dudes en dejar un comentario.

¡Apoya este sitio!

¿Estabas atascado con la instalación de PostgreSQL en CentOS 7? ¿No lograbas iniciar el servidor o conectar con el cliente? Si has conseguido salir del callejón sin salida, quizás desees agradecérnosolo con una mínima donación para el mantenimiento de este sitio y promover nuevas guías… ¡Gracias!

Valora este sitio

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies