Los comandos:
Para exportar una tabla o consulta a csv utiliza uno de los siguientes comandos:
Para la exportación del lado del cliente:
\copy to '' csv header
Para la exportación del lado del servidor:
COPY to '' csv header;
Ejemplo de ruta absoluta: ‘/Users/matt/Desktop/filename.csv’
Ejemplo de ruta relativa: ‘Escritorio/nombredearchivo.csv’
Palabras clave:
- csv: indica al comando de copia que el archivo que se crea debe ser un archivo CSV.
- cabecera: esto le dice al comando de copia que incluya las cabeceras en la parte superior del documento.
Usando los comandos
Los archivos de valores separados por comas (CSV) son un formato útil para almacenar datos. Muchas herramientas soportan la importación de datos desde archivos CSV porque es un formato fácil de leer que es texto plano y no depende de los metadatos.
En psql hay dos comandos que pueden hacer esto, ambos ligeramente diferentes.
El primero es el metacomando \copy que se utiliza para generar un archivo CSV de cliente. Este comando toma la tabla especificada o los resultados de la consulta y los escribe en el ordenador del cliente.
El segundo comando, COPY, genera un archivo CSV en el servidor donde se ejecuta la base de datos.
El comando \copy
El metacomando \copy se utiliza para exportar a un ordenador cliente. Es útil para copiar una base de datos que puede tener un acceso algo restringido y para crear una copia personal de los datos. Por ejemplo, un usuario puede querer generar un csv para poder analizar los datos financieros en Excel. El formato de una copia a csv es el siguiente:
\copy to csv header
La sección se puede rellenar con una tabla o consulta. Por ejemplo para copiar todas las entradas de una tabla, se puede poner aquí el nombre de la tabla. Para copiar todas las entradas que contengan «saw» en sus nombres desde la tabla de herramientas a un csv, se podrían ejecutar los siguientes comandos:
La es la ruta desde donde psql está guardando actualmente los archivos hasta donde se quiere guardar el archivo. La ubicación en la que psql está guardando actualmente se puede encontrar utilizando el comando \! pwd.
Nota: El meta-comando \! toma los argumentos que se le dan y los ejecuta como un comando bash dentro de psql.
El comando pwd imprime el directorio de trabajo actual. El metacomando \! pwd y \! ls se muestran siendo utilizados a continuación:
Esto significa que si el nombre del archivo «myTools.csv» se utiliza como el , se guardará en /Users/matt/ como se puede ver a continuación:
El archivo también se puede guardar en otro lugar introduciendo una ruta relativa específica. Por ejemplo, si se introduce ‘/Escritorio/.csv’ como ruta, el archivo se guardará en el escritorio.
A continuación de la ruta relativa en el comando se encuentra el texto
La ‘cabecera’ especifica que, cuando los datos se copien a un archivo csv, los nombres de cada columna deben guardarse en la primera línea, como se muestra aquí:
El comando COPY
El comando COPY también requiere que el usuario especifique una Tabla/Consulta para copiar. Sin embargo, a diferencia de \copy, el comando COPY requiere una ruta absoluta. Esto se debe a que COPY es para copiar una base de datos de un servidor a otra ubicación en el mismo servidor; no a un ordenador cliente. El comando \! pwd es muy útil para encontrar la ruta absoluta si no se sabe dónde guardar el archivo. Para guardar en el escritorio usando \copy se usaría ‘Desktop/.csv’. Para hacer esto con COPY, habría que utilizar ‘/Users//Desktop/.csv’ como se muestra a continuación:
Resumen
- Para copiar una tabla o consulta a un archivo csv, utilice el comando \copy o el comando COPY.
- Se debe utilizar \copy para una copia en los sistemas locales
- Usa una ruta relativa
- COPY utiliza una ruta absoluta.
.