Cargando



PostgreSQL – PSQL

En este tutorial estaremos viendo un poco más a detalle la línea de comandos de PostgreSQL, PSQL.



jul 01 2014 19:10
Profesional
PSQL es la línea de comando, la consola que nos viene empaquetada por defecto con PostgreSQL, esta nos permite correr queries e inclusive nos permite utilizarla como herramienta para realizar scripts automatizados, importar y exportar datos, restauraciones, administración de base de datos, e inclusive como generador básico de reportes.

Consola interactiva


Para utilizar la consola interactiva PSQL debemos primero saber que comandos podemos utilizar en esta modalidad para ello podemos acceder a la ayuda general de la cual disponemos utilizando la siguiente instrucción:
psql \?

Con ello desplegaremos un listado de lo que podemos utilizar, adicionalmente si tenemos alguna duda con una sentencia SQL podemos utilizar esta ayuda para obtener información específica de dicho comando, por ejemplo:
\h CREATE TABLE

Esto nos daría un resultado como el que veremos en la siguiente imágen.

PostGRESQL.jpg


Cómo podemos observar la ayuda nos muestra todas las opciones válidas que podemos utilizar al momento de ejecutar un comando o sentencia SQL dentro de nuestra línea de comandos interactiva PSQL.

Consola no interactiva


La consola no interactiva significa que le pedimos a la línea de comandos que ejecute un archivo de scripts que contiene una mezcla de sentencias SQL con comandos PSQL, inclusive podemos alternativamente pasar sentencias SQL en el llamado a ejecución dentro de la consola no interactiva. Esto nos permite facilitar la creación de tareas automatizadas, ya que podemos almacenar en un archivo las instrucciones que deseemos ejecutar y luego programarlas para que se ejecuten en el momento que lo necesitemos.

Para ejecutar un archivo simplemente utilizamos el parámetro -f de la siguiente forma
psql -f some_script_file

Si no tenemos los comandos en un archivo podemos pasarlos directamente a la consola de la siguiente forma:
psql -d postgresql_book -c "DROP TABLE IF EXISTS dross; CREATE SCHEMA staging;"

Como vimos, podemos incluir múltiples sentencias, siempre y cuando las separemos con un punto y coma.
Veamos cómo construir un archivo con comandos interactivos dentro:
\a	 
\t
\g create_script.sql
SELECT 'CREATE TABLE staging.factfinder_import(geo_id varchar(255), geo_id2 varchar(255),
geo_display varchar(255)
 , '|| array_to_string(array_agg('s' || lpad(i::text,2, '0') || ' varchar(255), s' ||
lpad(i::text,2, '0') || '_perc varchar(255) ' ), ',') || ');'
FROM generate_series(1,51) As i;
\o 
\i create_script.sql



Utilizamos \t para eliminar las cabeceras y \a para eliminar los elementos de quiebre que se generan, luego con \g especificamos que vamos a generar un archivo para la salida de lo que genere nuestro Query. Luego con la función lpad nos permitirá que nuestras columnas tengan la estructura s01, s01_perc, s02, s02_perc. Llamamos al comando \o para detener el volcado en el archivo, luego para efectivamente generar el archivo utilizamos el comando interactivo \i.
Finalmente podemos ejecutar nuestro archivo con el comando:
psql -f build_stage.psql -d postgresql_book

Con esto hemos construido nuestra funcionalidad de una forma bastante sencilla gracias a las herramientas de la consola o línea de comandos PSQL. Con esto finalizamos nuestro tutorial, ya conocemos un poco más de la consola y los diferentes ambientes que maneja como el interactivo y el no interactivo.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X