PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

psql valore restituito / errore che uccide lo script di shell che lo ha chiamato?

ON_ERROR_STOP non funzionerà con -c opzione.

Inoltre, il $(...) che circonda il psql sembra sbagliato — vuoi eseguire l'output come comando?

Infine, hai dimenticato una barra rovesciata dopo -L opzione

Prova a utilizzare un "qui documento":

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"