como instalar postgresql en freebsd 12

Cómo instalar PostgreSQL en FreeBSD 12

Dedico esta entrada a una pequeña guía sobre cómo instalar PostgreSQL en FreeBSD 12 paso a paso, ya que son muchos los usuarios del sistema del pequeño demonio que buscan información sobre este motor de bases de datos.

Antes de instalar PostgreSQL en FreeBSD 12

Para poder seguir esta guía de instalación PostgreSQL en FreeBSD 12 necesitamos unos mínimos requerimientos:

  • Un sistema FreeBSD 12 actualizado.
  • Acceso a línea de comandos con usuario con permisos de sudo o root.
  • Conexión a Internet.

Con estos requisitos resueltos, podemos ponernos manos a la obra e ir abriendo una terminal de consola.

Cómo instalar PostgreSQL en FreeBSD 12

Para instalar PostgreSQL en FreeBSD 12 usaremos una de las versiones que ofrecen los repositorios oficiales, por lo que el primer paso será actualizar la información del gestor de paquetes:

$ sudo pkg update

Con el sistema actualizado es hora de ver de qué versiones disponemos en los repositorios, así que realizaremos una pequeña búsqueda filtrada:

$ sudo pkg search ^postgresql |grep -i server
postgresql10-server-10.10      PostgreSQL is the most advanced open-source database available anywhere
postgresql11-server-11.5_1     PostgreSQL is the most advanced open-source database available anywhere
postgresql12-server-12.r1      PostgreSQL is the most advanced open-source database available anywhere
postgresql94-server-9.4.24     PostgreSQL is the most advanced open-source database available anywhere
postgresql95-server-9.5.19     PostgreSQL is the most advanced open-source database available anywhere
postgresql96-server-9.6.15     PostgreSQL is the most advanced open-source database available anywhere
$

De esta búsqueda podemos concluir dos cosas: que tenemos varias versiones para elegir y que parece que alguien está muy convencido de que PostgreSQL es el sistema de bases de datos de código abierto más avanzado…

En esta guía instalaremos la última versión estable disponible (11.5-1), aunque puedes apostar por la última versión candidata (12.r1). Si necesitas otra versión por algún motivo, siéntete libre de instalarla:

$ sudo pkg install postgresql11-server

Se descargará e instalará el paquete del servidor PostgreSQL junto a sus dependencias, entre las que figura también el cliente de PostgreSQL.

Datos importantes de la instalación de PostgreSQL en FreeBSD 12

Terminado el proceso hay que tener en cuenta algunos datos sobre esta instalación de PostgreSQL:

  • El usuario y el grupo con que se ejecuta PostgreSQL es postgres.
  • Antes de actualizar a versiones superiores es necesario crear una copia de seguridad. Si la actualización es a un número de versión menor entonces hay que volcar los datos, actualizar PostgreSQL y cargar los datos.
  • Hay que inicializar la base de datos antes de iniciar el servicio

En primer lugar vamos a habilitar el servicio postgresql para que inicie con el sistema y para poder usar los comandos de service que no empiezan por one. Para ello editaremos el archivo /etc/rc.conf y añadiremos la directiva adecuada:

...
postgresql_enable="YES"

Hecho esto la siguiente acción no es iniciar el servicio, como cabría esperar, sino inicializar la base de datos, para lo que está previsto el comando especial initdb de service:

$ sudo service postgresql initdb

Ahora sí podemos iniciar el servicio como otro cualquiera:

$ sudo service postgresql start
...[1040] LOG:  escuchando en la dirección IPv6 «::1», port 5432
...[1040] LOG:  escuchando en la dirección IPv4 «127.0.0.1», port 5432
...[1040] LOG:  escuchando en el socket Unix «/tmp/.s.PGSQL.5432»
...[1040] LOG:  terminando la salida de registro a stderr
...[1040] HINT:  La salida futura del registro será enviada al destino de log «syslog».
$

El servicio inicia con normalidad y nos informa de que queda a la escucha en el puerto 5432 sobre protocolos IPv4 e IPv6 así como a través de sockets de Unix. El resto de los avisos habrá que revisarlos en los logs.

Cómo conectar al servidor PostgreSQL en FreeBSD 12

Dadas las particularidades del esquema de roles o usuarios de PostgreSQL la única cuenta con la que podemos interactuar con el servicio es la del usuario postgres, creada durante la instalación.

Por tanto, podrías empezar a trabajar directamente con el cliente psql usando sudo con la cuenta postgres:

$ sudo -u postgres psql
psql (11.5)
Type "help" for help.

postgres=#

Cómo crear tu propio rol de PostgreSQL para tu usuario de FreeBSD

Pero seguramente quieras crear un rol de PostgreSQL para tu usuario de FreeBSD 12, que es mucho más cómodo. Para ello usaremos el comando createuser del mismo modo que en el caso anterior:

$ sudo -u postgres createuser --interactive
Password:
Enter name of role to add: chacho
Shall the new role be a superuser? (y/n) y
$

Con este breve comando interactivo creamos nuestro rol (en mi caso chacho es el nombre de mi usuario en FreeBSD 12) y elegimos si queremos ser superusuarios o no.

De vuelta a la línea de comandos, necesitamos una base de datos para este nuevo rol, porque al intentar conectar con un rol determinado, el cliente tratará de asociarlo con una base de datos con el mismo nombre que ese rol.

La buena noticia es que al haber creado nuestro propio rol, ya podemos usarlo para utilizar el comando createdb:

$ createdb
$

Parece que no ha pasado nada, pero en realidad se ha creado la base de datos. Puedes comprobarlo repitiendo el mismo comando:

$ createdb
createdb: database creation failed: ERROR:  la base de datos «chacho» ya existe
$

Ya tenemos rol y base de datos propia, por tanto ya podemos usar el cliente interactivo psql con nuestro usuario de FreeBSD:

$ psql
psql (11.5)
Type "help" for help.

chacho=#

A partir de ahora ya puedes lanzar comandos SQL para crear tus tablas y comandos propios del cliente psql, pero eso ya es otra historia.

Conclusión

Ahora que sabes cómo instalar PostgreSQL en FreeBSD 12 ya estás en condiciones de crear usuarios y bases de datos para las aplicaciones que se basan en este servicio de código abierto. Habrás visto que empezar a trabajar puede parecer un poco más extraño que otros sistemas de bases de datos como MySQL o MariaDB, pero sólo es al principio.

Si tienes cualquier duda o pregunta, sugerencia, notificación de errores, etc. sobre esta entrada, puedes dejarme un comentario.

¡Apoya este sitio!

Si estabas perdido con el reto de instalar PostgreSQL en FreeBSD 12, quizás no puedas evitar caer en la tentación de agradecérnoslo. Toda contribución por mínima que sea ayuda a mantener este sitio en línea y a crear nuevas guías. ¡Gracias!

Valora esta entrada

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