Jak vykopírovat výsledek SQL query (v našem případě select * from tabulka) do nějakého souboru v .csv podobě otevřitelné v excelu? To si ukážeme v následujícím miničlánečku.
psql -h adresa.serveru -p 5432 -d název_databáze -U uživatel -c "\copy (select * from tabulka) to /tmp/název_tabulky.csv with csv"
vysvětlíme si příkaz podrobněji:
psql příkaz spustí postgresql clienta
za -h vložíte IP adresu nebo DNS název serveru
za -p vložíte číslo portu na kterém naslouchá postgresql server
za -d vložíte název databáze
za -U (pozor velké U) bude uživatel, který má oprávnění se přihlásit
zkoušel jsem -W s heslem, ale to mi nefungovalo a příkaz se následně zeptal na zadání hesla.
Do závorky vložte jakýkoliv SQL dotaz chcete, aby vám jeho výsledek vyexportovalo do souboru.
za cestu /tmp/název_tabulky.csv můžete vložit cestu k souboru, který to vytvoří na straně serveru či podu (v případě kubernetes).
Kubectl cp
kubectl cp jméno-podu:/tmp/název_tabulky.csv ./název_tabulky.csv
vysvětlení příkazu
kubectl cp jméno-podu-ze-kterého-budete-kopírovat:/cesta/k/souboru/který/budete/kopírovat/ze/serveru/k/sobě/na/disk /cesta/na/vašem/počítači
V případě windows bude cesta u vás c:\nějakásložka\ v případě linuxu tak jak jsem popsal.