PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

psql Rückgabewert / Fehler beim Beenden des Shell-Skripts, das es aufgerufen hat?

ON_ERROR_STOP funktioniert nicht mit -c Option.

Auch der $(...) umgeben von psql sieht falsch aus — willst du die Ausgabe als Befehl ausführen?

Schließlich haben Sie einen Backslash nach dem -L vergessen Möglichkeit

Versuchen Sie es mit einem „Hier-Dokument“:

psql \
  -X \
  $POSTGRES_CONNECTION_STRING \
  -w \
  -b \
  -L ./output.txt \
  -A \
  -q \
  --set ON_ERROR_STOP=on \
  -t <<EOF
\copy mytable(...) from '$input_file' csv HEADER
EOF

echo "import is done"