Saltar al contenido

¿Cómo imprime el resultado de una consulta PostgreSQL en formato CSV o TSV desde la línea de comandos?

Solución:

Si está usando PostgreSQL 8.2 o más reciente, use esto para CSV:

psql -c "COPY (<select query>) TO STDOUT WITH CSV"

y esto de TSV, con NULL adecuados:

psql -c "COPY (<select query>) TO STDOUT WITH NULL AS ''"

El formulario CSV citará correctamente cualquier campo que contenga el carácter de comillas dobles. Consulte la documentación de PostgreSQL de su versión específica para obtener más detalles y opciones para COPY.

A partir de la respuesta de Bohemian, encontré útiles estas banderas:

psql my_database -U myuser -A -F , -X -t -f /path/to/query.sql -o /path/to/output.csv
  • Modo de salida no alineado: -A
  • Utilice una coma como delimitador de campo: -F,
  • No lea psqlrc: -X
  • Solo tuplas (sin encabezado / pie de página): -t
  • Archivo que contiene la consulta SQL: -f
  • Archivo de salida: -o

EDITADO: Usando -F

Use comas a través de -F y use “modo de salida de tabla no alineada” -A:

psql my_database -U myuser -A -F , -c "select * from mytable"
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

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