Cómo instalar PostgreSQL en FreeBSD 12

PostgreSQL o Postgres es un potente sistema de gestión de bases de datos objeto-relacional de alto rendimiento (ORDBMS) publicado bajo una licencia flexible de tipo BSD. PostgreSQL es muy adecuado para grandes bases de datos y tiene muchas características avanzadas.

En este tutorial, te mostraremos cómo instalar y configurar un servidor de bases de datos PostgreSQL en FreeBSD. Instalaremos la última versión de PostgreSQL 11 en el sistema FreeBSD 12.0.

Requisitos previos

Para esta guía, utilizaremos FreeBSD 12 con 1 GB de memoria RAM y 2 CPUs. Si tienes un despliegue grande, necesitarás más que eso. También necesitarás privilegios de root para la instalación de paquetes.

Qué vamos a hacer:

  • Actualizar y actualizar los paquetes
  • Instalar PostgreSQL 11
  • Configurar la autenticación de PostgreSQL
  • Configurar el nuevo usuario y la base de datos
  • Probar

Paso 1 – Actualizar y actualizar los paquetes

En primer lugar, actualizaremos el repositorio de paquetes y actualizaremos todos los paquetes a la última versión utilizando la herramienta de gestión de paquetes pkg para FreeBSD.

Actualiza todo el repositorio disponible y actualiza todos los paquetes a la última versión utilizando el siguiente comando.

pkg update
pkg upgrade

Una vez completada la instalación, pasa al siguiente paso.

Actualizar paquetes

Paso 2 – Instalar PostgreSQL 11

En este paso, vamos a instalar la última versión estable PostgreSQL 11. Por defecto, el repositorio de FreeBSD proporciona varias versiones del paquete PostgreSQL.

Puedes utilizar el siguiente comando para comprobar todas las versiones disponibles de los paquetes PostgreSQL.

pkg search postgresql

Y obtendrás múltiples versiones del servidor de bases de datos PostgreSQL.

Ahora instala el paquete PostgreSQL 11 utilizando el siguiente comando.

pkg install postgresql11-server postgresql11-client

Una vez completada la instalación, obtendrás el resultado que se muestra a continuación.

Instalar PostgreSQL

A continuación, tenemos que añadir el servicio PostgreSQL al arranque del sistema e inicializar la base de datos antes de iniciar el servicio.

Añade el servicio PostgreSQL al arranque del sistema utilizando el siguiente comando.

sysrc postgresql_enable=yes

Ahora inicializa la base de datos PostgreSQL utilizando el siguiente comando.

/usr/local/etc/rc.d/postgresql initdb

Y obtendrás el resultado que se indica a continuación.

Inicializar la base de datos postgres

Ahora inicia el servicio PostgreSQL y comprueba su estado.

service postgresql start
service postgresql status

El servicio PostgreSQL está funcionando en FreeBSD 12.0.

Servicio Postgres iniciado

Además:

Puedes comprobar el puerto del sistema utilizado por el servicio PostgreSQL utilizando el comando sockstat que aparece a continuación.

sockstat -l4 -P tcp

Y obtendrás que el puerto ‘5432’ es utilizado por el servicio PostgreSQL.

Comprueba el estado del enchufe

Paso 3 – Configurar la autenticación de PostgreSQL

En este paso, vamos a configurar el método de autenticación para PostgreSQL. PostgreSQL admite diferentes métodos de autenticación, como la autenticación de confianza (por defecto), la autenticación basada en contraseña, Kerberos, GSSAPI, LDAP, RADIUS y PAM.

Para esta guía, vamos a configurar la autenticación basada en contraseña utilizando MD5. Ve al directorio ‘/var/db/postgresql/data11’, edita el archivo ‘pg_hba.conf’ con el editor vim.

cd /var/db/postgres/data11
vim pg_hba.conf

Ahora cambia el método de autenticación para todas las conexiones locales a «md5» como se indica a continuación.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5 
# IPv6 local connections:
host    all             all             ::1/128                 md5

Guarda y cierra.

Configurar la autenticación de PostgreSQL

Ahora reinicia el servicio PostgreSQL.

service postgresql restart

Como resultado, se ha habilitado la autenticación basada en contraseña usando md5 para el servidor PostgreSQL.

Reinicia postgres

Paso 4 – Configurar el nuevo usuario y la base de datos

En este paso, vamos a configurar un nuevo usuario y base de datos en PostgreSQL. Vamos a crear una nueva contraseña para el usuario por defecto ‘postgres’, y crearemos un nuevo usuario y base de datos.

Inicia sesión con el usuario ‘postgres’ utilizando el comando que aparece a continuación.

su - postgres

Ahora entra en el shell interactivo de PostgreSQL ‘psql’.

psql

A continuación, crea una nueva contraseña para el usuario ‘postgres’.

\password postgres
TYPE THE PASSWORD

A continuación, crearemos un nuevo usuario llamado ‘hakase’ con la base de datos ‘hakase_db’. Y el dar privilegios para el usuario a la base de datos.

Ejecuta las siguientes consultas de PostgreSQL.

create database hakase_db;
create user hakase with encrypted password 'hakase123#';
grant all privileges on database hakase_db to hakase;

Ahora sal del shell interactivo de PostgreSQL.

\q

Como resultado, se ha creado la contraseña para el usuario ‘postgres’ por defecto. Y el nuevo usuario y la base de datos se han configurado.

Crear base de datos y usuario de base de datos

Paso 5 – Prueba

Accede al usuario ‘postgres’ y ejecuta el comando ‘psql’ para entrar en el shell interactivo de PostgreSQL.

su - postgres
psql

Muestra la lista de usuarios y la base de datos en el servidor PostgreSQL utilizando las siguientes consultas.

\du
\l

Y obtendrás como resultado el nuevo usuario ‘hakase’ y la base de datos ‘hakase_db’.

Probando PostgreSQL

Escribe ‘\q’ para salir del shell psql.

A continuación, iniciaremos la sesión con el usuario creado ‘hakase’ en la base de datos ‘hakase_db’ utilizando el siguiente comando.

psql -U hakase -d hakase_db -W
Type the hakase password

Ahora crea una nueva tabla ‘user_table’ e inserta algunos datos en ella.

create table user_table (id int, name text, site text);
insert into user_table (id,name,site) values (1,'Hakase-Labs','howtoforge.com');

Muestra el contenido de las tablas utilizando la siguiente consulta.

select * from user_table;

Y obtendrás el resultado que se muestra a continuación.

Crear tabla

Finalmente, la instalación y configuración de PostgreSQL 11 en el sistema FreeBSD 12 se ha completado con éxito.

Enlaces

También te podría gustar...