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:usando \copy con una subconsulta para seleccionar las entradas que tengan 'saw' en ellas'saw' in them

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:usando ! para ejecutar ls y pwd

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:

Mostrando \copy ejecutando y el archivo correspondiente que se creó

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 Este texto hace dos cosas. El ‘csv’ especifica que los datos deben ser almacenados en el formato CSV. Otros formatos posibles son ‘text’ y ‘Binary.

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í:

comparando un csv con y sin cabecera

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:

Muestra el uso de COPY para copiar un archivo csv

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
  • Se debe utilizar COPY para crear un csv en el lado del servidor.
    • COPY utiliza una ruta absoluta.
  • .

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *