PostgreSQL en la Raspberry Pi, Instalación y configuración.

Este es uno de los capítulos del tutorial La Raspberry Pi. Primera primeros pasos.. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

En el mundo de los motores de bases de datos, que sean software libre, probablemente el mas conocido es MySQL. Aunque ciertamente MySQL dispone de una licencia dual GPL/Licencia comercial. En el momento de escribir este artículo, MySQL es propiedad de Oracle Corporation. Lo cierto, es que MySQL, es junto Oracle y Microsoft SQL Server, una de las mas populares. Desde la compra de MySQL por Oracle, muchos implementadores de bases de datos, están migrando a MariaDB que es un fork de la primera. Sin embargo, para determinados proyectos yo me he estado utilizando PostrgreSQL. Así en este artículo, veremos como instalar PostgreSQL en la Raspberry Pi de forma sencilla.

Antes de meterme en harina, quería hacer una mención a una clasificación que encontré sobre motores de bases de datos, y que puedes consultar al pie del artículo. En ella, sitúa, en noviembre de 2.017, La primera base de datos a Oracle, seguida, en segundo lugar por MySQL, y en tercer lugar por MicrosoftSQL Server. La cuarta posición de esta clasificación la ocupa PostgreSQL, mientras que SQLite están en onceava posición y MariaDB en la décimo octava posición.

Si bien, no es mas que una clasificación, si que quiero destacar la importancia de PostgreSQL.

PostgreSQL en la Raspberry Pi, Instalación y configuración. Portada.

PostgreSQL en la Raspberry Pi

Instalación

Para instalar el servidor de bases de datos PostgreSQL en la Raspberry Pi, ejecutaremos la siguiente orden, accediendo mediante ssh, según vimos en artículos anteriores de este tutorial,

sudo apt install postgresql libpq-dev postgresql-client postgresql-client-common

Con esto ya tenemos instalado nuestro servidor de bases de datos. Sin embargo, para poder configurarlo, y trabajar con él, necesitamos realizar unos pasos previos.

Conexiones remotas con PostgreSQL en la Raspberry Pi

Cuando instalamos el motor de bases de datos PostrgreSQL en nuestro propio equipo, esto que indico a continuación no tiene aplicación. Sin embargo, cuando lo instalamos en un servidor, como puede ser la Raspberry Pi, necesitamos configurar previamente Postgres.

Postgres no permite conexiones remotas, como puede ser el caso de conectarnos desde nuestro equipo a la Raspberry. Todo ello por razones de seguridad. Así, para poder conectarnos de forma remota, necesitaremos editar algunos archivos de configuración.

El primer archivo a modificar es /etc/postgresql/9.6/main/pg_hba.conf. Para ello, ejecutaremos la siguiente orden,

sudo nano /etc/postgresql/9.6/main/pg_hba.conf

y añadiremos al final del archivo de configuración,

host all all 192.168.1.0/24 trust

Tendrás que modificar la IP 192.168.1.0 adaptándola a tu propia red.

El segundo de los archivos a modificar es /etc/postgresql/9.6/main/postgresql.conf. Mas o menos, en la línea 59 dentro del apartado CONNECTIONS AND AUTHENTICATION > Connection Settings está la opción listen_addresses. Como observarás, está comentada. Añade una línea antes (para no modificar esta) con el siguiente contenido, listen_addresses= '*'. Para ello, ejecuta el siguiente comando,

sudo nano /etc/postgresql/9.6/main/postgresql.conf

Ahora debemos reiniciar el servicio, para ello, ejecuta la siguiente orden,

sudo systemctl restart postgresql

Podemos comprobar el estado del servicio, ejecutando la orden,

systemctl status postgresql

PostgreSQL en la Raspberry Pi, Instalación y configuración. Restart.

Primeros pasos con PosgreSQL

Una vez hemos configurado PostgreSQL en la Raspberry Pi para poder acceder desde el exterior, vamos a crear nuestro usuario pi. Para ello, el primer paso es cambiar al usuario postgres que es el usuario que puede configurar la base de datos. Para ello, ejecuta la siguiente orden,

sudo su postgres

Ahora, ejecutaremos la siguiente orden para crear el usuario pi PostgreSQL. Recuerda que si tu usuario en la Raspberry es otro, deberás utilizar su nombre de usuario y no pi.

createuser pi -P --interactive

En la siguiente imagen verás el resultado de su ejecución.

PostgreSQL en la Raspberry Pi, Instalación y configuración. Creando usuario.

Al crear el nuevo usuario, te pide que ingreses la contraseña dos veces, y luego te hace tres preguntas,

  • Si el nuevo usuario es superusuario, a lo que tienes que responder que no.
  • Si el nuevo usuario puede crear bases de datos, a lo que tienes que responder que si.
  • Y por último, si el nuevo usuario, puede crear otros roles, a lo que tienes que responder que si.

Por último, tienes que crear una base de datos que se llame pi en el caso de que ese sea el usuario de la Raspberry Pi, o, el alias que tu le hayas asignado. Para ello, y todavía como usuario postgres, debes ejecutar la siguiente orden,

psql

De esta forma entrarás dentro del editor SQL de PostgreSQL. Ahora es necesario que ejecutes la siguiente orden,

create database pi;

Una vez ejecutada, ya puedes salir del editor SQL. Para ello escribe \q y pulsa Enter.

Por último, y dado que todavía estas como usuario posgres, debes ejecutar exit para volver a tu sesión.

Con esto ya tienes completamente configurado tu servidor PostgreSQL en la Raspberry Pi.

Ejemplo. Crear una base de datos con PosgtreSQL en la Raspberry Pi

De nuevo volvemos al editor psql, esta vez como nuestro usuario pi. Y vamos a crear una sencilla tabla, e introducir un par de entradas en la misma. Las ordenes son las siguientes,

create database mitest;
\connect mitest
create table personas (nombre text, telefono text);
insert into personas values ('Pepe', '12345678');
insert into personas values ('Jose', '87654321');

Si además queremos ver el resultado, ejecutaremos,

select * from personas;

El resultado de todo esto, lo puedes ver en la siguiente captura de pantalla,

 

Conectarse desde Ubuntu con pgAdmin III

Para conectarte desde tu equipo con Ubuntu, Linux Mint, Elementary, o cualquier otra distribución, a tu PosgreSQL en la Raspberry Pi, puedes utilizar pgAdmin III.

Para instalar pgAdmin III, ejecuta la siguiente orden en Ubuntu,

sud apt install pgadmin3

Una vez instalado pgAdmin III en nuestro equipo, lo inicias desde el lanzador, y seleccionas la opción Add Server.... Donde tienes que indicar un nombre para el servidor (el que mas te guste), la dirección de la Raspberry Pi, el puerto (normalmente el 5432), la base de datos de mantenimiento (postgres por defecto) y tu nombre de usuario (pi). Todo esto lo puedes ver en la siguiente captura de pantalla,

PostgreSQL en la Raspberry Pi, Instalación y configuración. pgAdmin 3.

Si ahora abrimos la base de datos que creamos anteriormente, mitest, podemos ver nuestra tabla personas y su contenido,

PostgreSQL en la Raspberry Pi, Instalación y configuración. Ejemplo de tabla.

Conclusiones

Como puedes ver, instalar y configurar el servidor de bases de datos PostgreSQL en la Raspberry Pi, es bastante secillo. Y su uso posterior, con herramientas como pgAdmin III es mucho mas sencillo si cabe.


Más información,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *