Comenzando con bases de datos

(No tan) Primeros pasos con bases de datos en Linux.


Entorno:
  • S.O. Xubuntu 18.04 LTS Descubierto recientemente después de aborrecer Ubuntu. Me ha sorprendido gratamente por su sencillez y ligereza.
  • SGBD PostgreSQL 10 Es la que está en estos momento en el repositorio del apt. Existe la 11 y la 12, pero prefiero ir a lo seguro.



Empiezo con la virtualización: como ya tenía VMWare instalado, creo la máquina virtual con éste y vienen los problemas:
  • Instalar las tools y no funcionan las flechas del cursor. Después de un rato descubro alguna interferencia con la tecla del bloqueo numérico.
  • Instalar el Postgres y al hacer sudo -i -u postgres devuelve error de que no existe el usuario. Compruebo que en el /etc/passwd existe. Fuerzo a cambiar al usuario postgres y termina pidiendo contraseña. Compruebo en /etc/shadows que la instalación le ha asignado contraseña. La desconozco y después de un rato surfeando por Internet no encuentro nada relevante. Desisto.
  • Otro intento con Xubuntu de 32 bits, y al reiniciar después de instalar las tools 2 de cada 3 intentos no arranca y se queda con la pantalla en negro.
Demasiados problemas. En clase está funcionando todo correctamente con VirtuaBox, excepto algún error ignorable, así que decido replicar el escenario conocido.
Instalo VirtualBox y en él, el Xubuntu y el PostgreSQL. Sin errores. Todo correcto.
Procedemos a instalar las Guest Additions. Para ello hay que instalar primero los paquetes gcc, make y perl. Después ejecutamos el script VBoxLinuxAditions.run del CD. Tenemos el mismo problema que en clase. 
Creo que lo mejor es instalarlo desde una consola tty y no desde una consola abierta desde el entorno gráfico. Así evitamos el error ocurrido en clase que ocupa toda la pantalla y no se lee de qué puede ser. Lo malo que cada vez que se inicia la máquina virtual aparece el dichoso error, sin especificar qué coño pasa.

Para colorear el prompt de la consola de postgres, en el directorio /var/lib/postgres debería existir el archivo .postgresrc
Según algunas webs el archivo existe y tiene contenido. Supongo que será en entornos de producción. En este caso no existe, así que lo creamos y le metemos estás líneas:
\set PROMPT1 '%n@%[%033[1;36m%]%/%[%033[0m%]%R%#%x '
\set PROMPT2 '%[%033[1;31m%]%/%[%033[0m%]%R%#%x '
De esta forma conseguimos la siguiente apariencia:
Ejemplo de prompt coloreado de PostgreSQL
El prompt1 es el que tenemos normalmente (usuario@bbdd=#) y el prompt2 será el que nos aparezca cuando no hayamos finalizado la consulta. Lo he puesto rojo para remarcar que no está esperando una nueva consulta, sino que hay que finalizar la anterior.
Los colores son:
  • 31 rojo
  • 32 verde
  • 33 amarillo
  • 34 azul
  • 35 magenta
  • 36 cían
  • 37 blanco
Supongo que habrá alguno más, pero de momento no tengo más ganas de meterme con expresiones regulares.




No hay comentarios: