3 formas de usar los comandos de PostgreSQL

Ya sea que necesites algo simple, como una lista de compras, o complejo, como un generador de muestras de color. Los comandos de PostgreSQL lo hacen más fácil.

En artículos anteriores explicamos cómo instalar, configurar y comenzar a utilizar el software de base de datos de código abierto PostgreSQL. Pero hay mucho más que puedes hacer con los comandos en PostgreSQL.

Por ejemplo, uso Postgres para realizar un seguimiento de mi lista de compras. Hago la mayor parte de las compras de comestibles en nuestra casa, y la mayor parte ocurre una vez por semana.

Voy a varios lugares para comprar las cosas en mi lista porque cada tienda ofrece una selección o calidad particular o quizás un mejor precio.

Inicialmente, hice una página de formulario HTML para administrar mi lista de compras, pero no podía guardar mis entradas. Entonces, tuve que esperar para hacer mi lista de una vez, y para entonces generalmente olvidé algunos artículos que necesitamos o queremos.

En cambio, con PostgreSQL, puedo ingresar artículos cuando pienso en ellos a medida que avanza la semana e imprimir todo antes de ir de compras. Así es como puedes hacer eso también.

Crear una lista de compras simple

Primero, debes ingresar a la base de datos con el comando psql, luego crear una tabla para tu lista con:

Debes escribir comandos como los siguientes para agregar elementos a tu lista:

Hay dos piezas de información (separadas por una coma) dentro de los paréntesis. El artículo que deseas comprar y las letras que indican dónde deseas comprarlo y si es algo que generalmente compras cada semana (W).

Como psql tiene un historial, puedes presionar la flecha hacia arriba y editar los datos entre paréntesis. Esto en lugar de tener que escribir la línea completa para cada elemento.

Después de ingresar varios elementos, debes verificar lo que has ingresado con el siguiente comando:

Este comando ordena los resultados por la columna comment para que los artículos se agrupen por donde los compre para que sea más fácil comprar.

Al usar una W para indicar tus compras semanales, puedes mantener tus artículos semanales en la lista cuando borras la tabla. Esto para prepararte para la lista de la próxima semana. Para esto, debes ingresar:

Observa que en PostgreSQL, % es el carácter comodín (en lugar de un asterisco). Entonces, para guardar la escritura, puedes escribir:

No puedes usar item = ‘goat%’; No funcionará.

Cuando estés listo para comprar, envía tu lista para imprimirla o envíala a tu teléfono con:

El último comando, \o, sin nada después, restablece la salida a la línea de comando. De lo contrario, toda la salida continuará yendo al archivo groc que creaste.

Analizar tablas complejas

Esta entrada artículo por artículo puede estar bien para tablas cortas, pero ¿qué pasa con las realmente grandes? Hace un par de años, estaba ayudando al equipo de FreieFarbe.de a crear una muestra de los colores libres (freieFarbe significa “colores libres” en alemán).

Esto se iba a hacer partir de su paleta de colores HLC. Aquí se puede especificar prácticamente cualquier color de impresión imaginable, matiz, luminosidad (brillo) y croma (saturación). El resultado fue el HLC Color Atlas, y así es como lo hicimos.

El equipo me envió archivos con especificaciones de color para poder escribir scripts de Python que funcionarían con Scribus. Esto para generar fácilmente las muestras de parches de color. Un ejemplo con el que iniciamos fue:

Esto está ligeramente modificado del original, que separó los datos con pestañas. Lo transformé en un archivo CSV (valor separado por comas), que prefiero usar con Python. (Los archivos CSV también son muy útiles porque se pueden importar fácilmente a un programa de hoja de cálculo).

En cada línea, el primer elemento es el nombre del color, seguido de sus valores de color C, M, Y y K. El archivo constaba de 1.793 colores, y quería una forma de analizar la información para tener una idea del rango de valores.

Aquí es donde entra en juego PostgreSQL. No quería ingresar todos estos datos manualmente, no creo que pudiera sin errores (y dolores de cabeza). Afortunadamente, PostgreSQL tiene un comando para esto.

Base de datos

Mi primer paso fue crear la base de datos con el siguiente comando:

Luego extraje los datos con:

La barra invertida al principio está allí porque el uso del comando copy simple está restringido a root y al superusuario de PostgreSQL.

Entre paréntesis, header significa que la primera línea contiene encabezados y debe ignorarse, y CSV significa que el formato del archivo es CSV.

Ten en cuenta que no se requieren paréntesis alrededor del nombre del color en este método.

Si la operación es exitosa, observo un mensaje que dice COPY NNNN, donde las N se refieren al número de filas insertadas en la tabla.

Finalmente, puedo consultar la tabla con el siguiente comando:

Continúa así para todas las 1.793 filas de datos. En retrospectiva, no puedo decir que esta consulta fue absolutamente necesaria para la tarea de HLC y Scribus. Empero alivió algunas de mis inquietudes sobre el proyecto.

Para generar el HLC Color Atlas, automaticé la creación de las tablas de colores con Scribus para los más de 13,000 colores en esas páginas de muestras de colores.

Podría haber usado el comando copy para generar mis datos:

También podría restringir la salida de acuerdo con ciertos valores con una cláusula where.

Por ejemplo, el siguiente comando solo enviará los valores de la tabla para los tonos que comienzan con H10.

Copia de seguridad o transferencia de una base de datos o tabla

El comando final que mencionaré aquí es pg_dump. Este se utiliza para hacer una copia de seguridad de una base de datos PostgreSQL y se ejecuta fuera de la consola psql. Por ejemplo:

La primera línea exporta la tabla hlc_cmyk junto con su estructura. La segunda línea recupera todas las tablas dentro de la base de datos gregp. Esto es muy útil para realizar copias de seguridad o transferir una base de datos o tablas.

Para transferir una base de datos o una tabla a otra computadora, primero, debes crear una base de datos en la otra computadora. Posteriormente debes realizar el proceso inverso:

Esto crea todas las tablas e ingresa los datos en un solo paso.

Conclusión

En este artículo, hemos visto cómo usar el parámetro WHERE para restringir las operaciones, junto con el uso del caracter comodín PostgreSQL %.

También hemos visto cómo cargar una gran cantidad de datos en una tabla. Luego enviar algunos o todos los datos de la tabla a un archivo, o incluso a toda tu base de datos con todas sus tablas individuales.