multipg2csv allows you to run a single query against multiple postgresql instances simultaneously, collecting the results into a collection of csv files packaged in a zip archive.
From source:
go install github.com/tardisx/multipg2csv@latest
Binaries:
... coming soon
multipg2csv -query 'SELECT * FROM pg_stats_all_indexes;' -output index_stats.zip postgresql://server1/db1 postgresql://server2/db2
Or maybe leverage your shell:
multipg2csv -query 'SELECT * FROM pg_stats_all_indexes;' -output index_stats.zip postgresql://db{1..20}/somedb
PostgreSQL connection URL's are described here: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
Note that multipg2csv
will use your .pgpass
file if available, and you should definitely use it,
instead of supplying passwords on the command line.
- Quitting while transfers are still in progress does not work correctly.