Creacion de una Base de Datos PostgreSQL en Ubuntu
Una de nuestras tareas mas frecuentes a la hora de desarrollar aplicaciones es la creación de bases de datos, ya sean aplicaciones especializadas para fármacos, aplicaciones georreferenciadas, o algoritmos de aprendizaje máquina que se re-entrenan periódicamente o tiendas en línea, la gran mayoría de las aplicaciones utilizadas hoy en día requieren el uso de bases de datos para el almacenamiento de las oepraciones o para almacenar los datos necesarios para mostrar a un usuario.
En esta entrega les vamos a mostrar como crear una base de datos en PostreSQL 10.0.
$ sudo apt install postgresql postgresql-contrib
Una vez que se ha instalado postgres debemos configurarlo para que acepte
usuario y contraseña (incluso en local) y para poder conectarnos desde otras
máquinas (esto lo hacemos porque si generamos un archivo de configuraciones para
el servidor de producción y es el mismo que el del ambiente de prubas, pues nos
ahorramos un poco de trabajo y nos sirve para avanzar hacia el tratar nuestra
infraestructura como código, que es la meta de las Dev Ops). Para esto tenemos
que editar el archivo pg_hba.conf
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
Esto nos va a permitir recibir conexiones desde cualquier dirección IPv4 (0.0.0.0) mientras sean utilizando nombre de usuario y contraseña (md5).
Tambien tenemos que cambiar el archivo postgres.conf
listen_addresses = '*'
Conectarse a la base de datos principal.
Ahora nos conectaremos como el usuario postgres para generar a nuestro usuario de prubas para esto utilizaremos la herramienta de linea de comandos psql.
$ psql -U postgres postgres
una vez conectados a la base de datos postgres podemos generar un usuario de la siguiente manera:
> create user otto with password 'otto123' CREATEDB;
A este usuario vamos a darle permisos de super usuario y que pueda generar bases de datos y tablas
> ALTER USER otto WITH SUPERUSER;
Una vez hecho esto podemos generar nuestra base de datos, salimos de psql, nos conectamos de nuevo con el nuevo usuario
$ psql -U otto -d postgres
Ya conectados a la base postgres generamos la nueva base
> CREATE DATABASE employees;
una vez hecho esto, debemos cambiar la conexion, ya que postgres limita la
conexion a una sóla base de datos. para esto usaremos el metacomando \c
> \c employees;
revisamos las bases de datos
> \dt
nos muestra que la base existe y que estamos conectados a ella.