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.12_1    PostgreSQL is the most advanced open-source database available anywhere
postgresql11-server-11.7_1     PostgreSQL is the most advanced open-source database available anywhere
postgresql12-server-12.2_1     PostgreSQL is the most advanced open-source database available anywhere
postgresql94-server-9.4.26     PostgreSQL is the most advanced open-source database available anywhere
postgresql95-server-9.5.21     PostgreSQL is the most advanced open-source database available anywhere
postgresql96-server-9.6.17_1   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…

¿Qué versión de PostgreSQL instalar en FreeBSD 12?

Aunque lo habitual sería instalar la última versión disponible de PostgreSQL en FreeBSD 12, sin embargo hay que tener en cuenta que si se va a trabajar con PHP, la extensión de PHP tiene como dependencias los paquetes de la versión 11 de PostgreSQL.

Por tanto, si vas a trabajar con PostgreSQL y PHP, instala el paquete postgresql11-server:

$ sudo pkg install -y postgresql11-server

Y si tienes claro que no vas a usar PHP, puedes instalar la última versión de PostgreSQL:

$ sudo pkg install -y postgresql12-server

En cualquier caso, 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 habilitamos el servicio en el archivo /etc/rc.conf mediante el comando service:

~$ sudo service postgresql enable

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 PostgreSQL como otro cualquiera:

~$ sudo service postgresql start

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 (12.2)
Digite «help» para obtener ayuda.

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
Ingrese el nombre del rol a agregar: chacho
¿Será el nuevo rol un superusuario? (s/n) s
~$

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: error: falló la creación de la base de datos: 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 (12.2)
Digite «help» para obtener ayuda.

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, y puedes hacerlo de las siguientes formas:

Invitándome a un café:

 

O dejando una propina desde PayPal:

¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 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