2010-02-22 39 views

Respuesta

3

ejecutar desde su interfaz gráfica de usuario:

COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER

+1

Tenga en cuenta que esto ejecutará el proceso de copia en el * servidor *. Entonces, si se trata de un servidor remoto, el archivo se descargará en ese servidor, y no en su máquina local. Del mismo modo, debe asegurarse de que el proceso del servidor tenga permisos de escritura allí. Puedes usar \ copy en lugar de copiar para obtenerlo en el lado del cliente si usas psql - no estoy seguro de si la ardilla tiene algo así. –

3

También quería exportar los resultados de la consulta SQL a un archivo CSV utilizando SquirrelSQL. Sin embargo, de acuerdo con changes file parece que esta funcionalidad no es compatible incluso en SquirrelSql 3.3.0.

Hasta ahora he podido exportar solo los datos que se muestran en la 'tabla de resultados' de la consulta SQL haciendo clic con el botón derecho en la tabla> Exportar a CSV. El tamaño de la tabla es por defecto de 100 filas y también lo es la exportación de CSV. Puede cambiar el tamaño de la tabla en Propiedades de sesión> SQL> Límite de filas. P.ej. cambie el tamaño a 10000 y su exportación también contendrá 10000 filas. La pregunta es cómo SquirrelSql se ocupará de conjuntos de resultados realmente grandes (millones de filas) ...

4

He encontrado una manera de hacerlo, hay un buen soporte para esto en Squirrel. Ejecute la selección de SQL (el exportador ignorará el límite de 100 filas, no se preocupe). Luego, en el menú principal, elija Sesión, Scripts, Almacenar resultado de SQL en archivo. Esta funcionalidad puede no estar presente por defecto, puede estar presente en algún complemento estándar (pero no está instalado por defecto). Aunque no sé qué plugin.

22

Martin prácticamente tiene este derecho.

La versión TL/DR es que se necesita el plug-in "sqlscripts" (que es uno de los "estándar 'plugins), y luego puede seleccionar estas opciones de menú: Session>Scripts>Store Result of SQL in File

I' Estoy mirando la versión 3.4. No sé cuándo se introdujo esta característica, pero es posible que deba actualizar si no tiene y no puede instalar el complemento SQLScripts.

Las instrucciones para instalar un nuevo complemento se pueden encontrar en: http://squirrel-sql.sourceforge.net/user-manual/quick_start.html#plugins

Pero si está realizando un instalación nueva de Squirrel puede simplemente seleccionar el complemento "SQLScripts" durante la instalación.

Aquí está la versión larga:


  1. Ejecutar la consulta

    Conectar a la base de datos. Haga clic en la pestaña SQL. Ingrese su consulta Pulse el botón Ejecutar (o Ctrl-Enter).

    Debería ver las primeras 100 filas más o menos en el área de resultados en la mitad inferior del panel (dependiendo de cómo haya configurado la opción Limit Rows).

  2. exportación los resultados completos

    Abrir el menú Session. Seleccione el elemento Scripts (casi en la parte inferior de este menú largo). Seleccione Store Result of SQL in File.

    Esto abre un cuadro de diálogo donde puede configurar su exportación. Asegúrese de marcar Export the complete result set para obtener todo.


No he probado esto con un conjunto de resultados de 3 millones de fila, pero me he dado cuenta de que parece ardilla para transmitir los datos en el disco (en lugar de leer todo esto en memoria antes de la escritura), por lo No veo ningún motivo por el que no funcione con un archivo arbitrariamente grande.

Tenga en cuenta que puede exportar directamente a un archivo utilizando Ctrl-T para invocar las herramientas emergentes y seleccionar sql2file.

+0

Solo una actualización rápida: ayer utilicé esta característica para exportar aproximadamente 8 millones de filas desde un esquema de depósito de datos. Squirrel/SQLScripts funcionaba como un campeón. – Rod

+0

Cuando intento "Almacenar el resultado de SQL en el archivo", aparece "Método no compatible" –

+0

¡Siento que intentan ocultarlo! –

0

Usando Squirrel 3.5.0 El "Almacenar el resultado de SQL como archivo" es excelente si solo tiene una consulta Select simple. Una más compleja con parámetros no funcionará. Incluso intentar exportar un resultado de más de 600,000 filas a un archivo CSV también puede fallar.

Cuestiones relacionadas