Able to pipe query into stdin and get csv on stdout
- Lingua principale
- Python
- Stelle
- 1.4k
- Fork
- 191
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
We use commandline tools to transfer data from postgresql, mysql and sqlserver to (in our case) a postgresql server.
The basic idea is like this (in this case we get data from mysql and import it in postgresql:
```
# schema.table was created to have the same layout as whatever is getting out of the csv
echo "SELECT ... FROM ...; " | /bin/bash -o pipefail -c "\
MYSQL_PWD=password mysql --user=projecta --host=x.x.x.x --port=xxxx --skip-column-names | \
PGOPTIONS='--client-min-messages=warning' PGTZ=Europe/Berlin \
psql --username=xxx --host=hostname --no-psqlrc --set ON_ERROR_STOP=on database --echo-queries \
--command=\"COPY schema.table FROM STDIN WITH NULL AS 'NULL'\"";
```
[we also run all our ETL via sending queries to stdin of a psql call, but to support that in mssql-cli would also mean "import csv on stdin" support to actually get the data into sql server]
For sqlserver, we currently use sqsh but supports at least the "SQL Script in, csv out" workflow. As sqsh is unmaintained (and buggy in versions available in ubuntu/debian), we would like to replace this by whatever finally supports at least exporting csv on stdout.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.