En algún momento ya habíamos hablado por aquí del formato CSV (comma separated values), un estándar para compartir información mecánicamente legible que, a pesar de algunas limitaciones con la codificación de caracteres, es bastante popular pues, por ejemplo, nos permite pasar datos de un sistema gestor de bases de datos a una hoja de cálculo o viceversa.
El sistema gestor de bases de datos PostgreSQL nos permite exportar datos a CSV de forma muy sencilla, y además tenemos dos posibilidades: Exportar una tabla entera o exportar el resultado de una consulta.
El comando básicamente sería COPY loquesea TO ficherodesalida DELIMITER ‘caracterdelimitador’ CSV HEADER; siendo el caracter delimitador generalmente una coma, pero puedes cambiarlo por otro si lo necesitas para tu exportación (puede darse el caso de que los datos que exportes tengan textos con coma, por lo que igual te interesa un caracter más exótico). El loquesea del ejemplo sería o el nombre de una tabla o una consulta, mientras que ficherodesalida sería la ruta donde queremos que se cree nuestro CSV.
Veamos dos ejemplos. Imaginemos que queremos expotar todos los datos de una tabla que se llama Pacientes:
COPY Pacientes TO 'Users/Donato/Documents/Pacientes.csv' DELIMITER ',' CSV HEADER;
Esa instrucción generaría un fichero con el nombre que le hemos definido en la ruta que le hemos ordenado, conteniendo todos los valores de la tabla pacientes separados por comas. Ahora imaginemos que solo queremos los nombres y apellidos de los pacientes del año 2021 (tenemos un campo con el año en el que se dieron de alta), podríamos exportarlos usando una consulta:
COPY (Select Nombre, Apellidos from Pacientes where Alta = 2021) TO 'Users/Donato/Documents/Pacientes.csv' DELIMITER ',' CSV HEADER;
De esta forma exportaríamos solo esos datos que nos interesan, filtrados a través de esa consulta. Ahora podríamos abrir esos datos en Excel, Googl Sheet o LibreOffice Math, por ejemplo.