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.
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.
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.
Ahora inicia el servicio PostgreSQL y comprueba su estado.
service postgresql start
service postgresql status
El servicio PostgreSQL está funcionando en FreeBSD 12.0.
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.
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.
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.
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.
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’.
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.
Finalmente, la instalación y configuración de PostgreSQL 11 en el sistema FreeBSD 12 se ha completado con éxito.