Cómo instalar PostgreSQL en FreeBSD 13

En esta entrada vamos a explicar cómo instalar PostgreSQL en FreeBSD 13 paso a paso, de tal modo que dispongas de este potente servicio de bases de datos relacionales sobre tu servidor o VPS FreeBSD, tanto para realizar tus propios desarrollos como para cumplir requisitos de otras aplicaciones.

Antes de instalar PostgreSQL en FreeBSD 13

Si quieres seguir los pasos de esta guía de instalación de PostgreSQL en FreeBSD 13 sólo necesitas partir de este mínimo escenario:

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

Como con total seguridad ya cumples estos requisitos, es hora de regular la altura más cómoda del escritorio y abrir una terminal de consola.

Cómo instalar PostgreSQL en FreeBSD 13

Vamos a instalar PostgreSQL en FreeBSD 13 desde los repositorios del sistema, que actualmente nos ofrecen las versiones 12, 13, 14, 15 y 16 de este motor de bases de datos.

El paquete que necesitamos es postgresqlXX-server, donde XX tomará los valores desde 12 hasta 16, según la versión que queramos instalar.

IMPORTANTE: Si tienes previsto integrar PostgreSQL con PHP (para el desarrollo o uso de aplicaciones realizadas en este lenguaje) habrá que instalar la versión 15, ya que la extensión correspondiente depende justo de esta versión y desinstalaría cualquier otra versión.

Por tanto, para instalar PostgreSQL 15 en FreeBSD 13 utilizaríamos este comando:

~$ sudo pkg install -y postgresql15-server

Si quisiéramos instalar otra versión simplemente indicamos el paquete correspondiente; por ejemplo, para la citada versión PostgreSQL 16:

~$ sudo pkg install -y postgresql16-server

Una vez descargado e instalado PostgreSQL Server y sus dependencias disponemos de un nuevo servicio en FreeBSD 13, el servicio postgresql que es necesario activar para poder trabajar con él:

~$ sudo service postgresql enable

Antes de arrancar el servicio por primera vez es preciso inicializar las bases de datos con el siguiente comando:

~$ sudo /usr/local/etc/rc.d/postgresql initdb

Ahora sí, podemos iniciar el servicio:

~$ sudo service postgresql start

Podemos comprobar el estado del servicio en cualquier momento con el siguiente comando:

~$ sudo service postgresql status
pg_ctl: server is running (PID: 1158)
/usr/local/bin/postgres "-D" "/var/db/postgres/data15"

Cómo usar PostgreSQL en FreeBSD 13

Inicialmente sólo podemos conectar al servicio PostgreSQL en FreeBSD 13 con el usuario postgres creado durante la instalación. Al conectar con este usuario mediante el cliente de consola psql se utilizará automáticamente el rol postgres de PostgreSQL:

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

postgres=#

Podemos cerrar la sesión con los comandos \q o exit.

Lo más probable es que queramos disponer de nuestro propio rol administrador de PostgreSQL asociado a nuestro usuario de trabajo en FreeBSD 13. Para ello usamos el comando createuser (a través del usuario postgres) y creamos un rol con idéntico nombre que nuestro usuario de trabajo:

~$ sudo -u postgres createuser --interactive -P instalador
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y

Este comando nos solicitará la creación de una contraseña y nos preguntará si deseamos que el rol sea administrador, a lo que contestaremos que sí.

Al conectar al servicio con psql se trata de abrir una base de datos con el mismo nombre que el rol utilizado, así que deberíamos crear una base de datos para nuestro rol.

Como ya existe nuestro rol administrador con el mismo nombre que nuestro usuario del sistema, no es necesario utilizar sudo con el usuario postgres, y podemos usar directamente el comando administrativo createdb para crear la base de datos:

~$ createdb instalador -O instalador

Ahora podemos probar nuestro nuevo rol conectando al servicio con psql:

~$ psql
psql (15.6)
Type "help" for help.

instalador=#

Si te preguntas por qué no se nos ha solicitado la contraseña que creamos anteriormente, se debe a que la autenticación desde consola se realiza a través de socket, asociando el usuario del sistema directamente con el rol con su mismo nombre. La autenticación por contraseña la reservaríamos a conexiones TCP/IP locales o remotas como las usadas por otro tipo de clientes, aplicaciones web de gestión, etc.

Cómo configurar PostgreSQL en FreeBSD 13

Para configurar PostgreSQL en FreeBSD 13 hay que trabajar sobre sus archivos de configuración en el directorio /var/db/postgres/dataXX/, donde XX representa la versión de PostgreSQL instalada. En este tutorial asumiremos PostgreSQL 15 como la versión instalada.

Algunos ajustes requieren la recarga de la configuración del servicio:

~$ sudo service postgresql reload

Y otros necesitan un reinicio:

~$ sudo service postgresql restart

Veamos un ejemplo de configuración.

Acceso con contraseña

La mayoría de aplicaciones y plataformas que usan PostgreSQL como base utilizan autenticación por contraseña mediante protocolo TCP/IP local. Debemos activar este tipo de acceso en el archivo de configuración pg_hba.conf:

~$ sudo nano /var/db/postgres/data15/pg_hba.conf

Buscamos esta sección:

...
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
...

Y cambiamos la autenticación trust por scram-sha-256:

...
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
...

Guardamos los cambios y recargamos la configuración del servicio:

~$ sudo service postgresql reload

Acceso remoto a PostgreSQL en FreeBSD 13

Por defecto PostgresQL no permite el acceso remoto en FreeBSD 13, así que sólo será posible acceder localmente. Si quisiéramos poder acceder remotamente al servicio desde otra máquina en red a través de un cliente como psql sería necesario que PostgreSQL atendiera peticiones externas. Para hacer esto editamos el archivo postgresql.conf:

~$ sudo nano /var/db/postgres/data15/postgresql.conf

Buscamos la directiva listen_addresses:

...
#listen_addresses = 'localhost'         # what IP address(es) to listen on;
...

Está desactivada, así que eliminamos el carácter inicial # y cambiamos el valor por defecto por *:

...
listen_addresses = '*'                  # what IP address(es) to listen on;
...

Guardamos los cambios y abrimos el archivo pg_hba.conf:

~$ sudo nano /var/db/postgres/data15/pg_hba.conf

Localizamos esta sección:

...
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
...

Y añadimos a continuación una sección similar para el acceso remoto:

...
#Acceso remoto
host    all             all             all                     scram-sha-256
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo service postgresql restart

Desde otra máquina en red podemos usar un cliente como psql, especificando la dirección del servidor FreeBSD 13 donde tenemos instalado el servicio PostgreSQL:

~$ psql --host freebsd13.local.lan -U instalador

como instalar postgresql en freebsd 13

Ahora podemos trabajar sobre nuestras bases de datos como si estuviésemos sentados frente a la máquina FreeBSD 13.

Integración con PHP

Si vamos a instalar aplicaciones realizadas sobre este lenguaje en la máquina FreeBSD 13, será necesario instalar la extensión que permite la conexión a PostgreSQL. Recuerda que para esta integración debemos trabajar con la versión 15 de PostgreSQL.

Por otro lado, la extensión debe corresponder con la versión del lenguaje instalada:

~$ sudo pkg install -y phpXX-pgsql

Sustituye XX en el comando anterior por 81, 82 u 83, según corresponda.

Tras la instalación de la extensión habrá que recargar la configuración del servicio web o del servicio PHP, según corresponda.

Conclusión

Ahora que sabes cómo instalar y configurar PostgreSQL en FreeBSD 13 ya puedes trabajar con uno de los servicios de bases de datos relacionales más potentes del mercado. Podrás usarlo tanto para desarrollar tus propias bases de datos como para establecer la base sobre la que trabajan multitud de aplicaciones de terceros.

¡Apoya comoinstalar.me!

¿Ya funciona este motor de bases de datos en tu propia máquina? Si es así y quieres agradecérnoslo, nunca viene mal cualquier mínima aportación al mantenimiento de este sitio y la creación de más artículos y tutoriales.

Puedes ayudarnos dejando tan sólo 1 $ de propina desde PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

Deja un comentario