Come per Postgres Documentation - Una volta preparato, una transazione può essere successivamente confermata o ripristinata con COMMIT PREPARED o ROLLBACK PREPARED, rispettivamente. Questi comandi possono essere emessi da qualsiasi sessione, not only the one that executed the original transaction.
Come eseguire PREPARE TRANSACTION lavoro
Sto cercando di importare dati da CSV in tabelle di database e per questo, sto usando la
COPY tablename [ (column [, ...]) ] FROM { 'filename' }
tutto questo è fatto in uno script di shell . Ora il problema è che sto eseguendo psql
comando e passando questo comando come parametro tramite l'opzione -c
(comincio transazione tramite il comando
prepare transaction 'some-id'
in quel comando).
Desidero creare un punto di salvataggio e il rollback in caso di errori.
Dopo un paio di altre attività nella shell script, controllo per gli errori che la dichiarazione psql precedente hanno prodotto e quando poi cerco di rollback utilizzando il comando
Prepared Rollback 'transaction-id'
(in separato psql command with sql statements
)
E ' rapporti "No "transaction-id" found
"
Sto ricevendo il concetto sbagliato o manca qualcosa nel processo?
Accade perché sto emettendo il comando psql
più volte e ne risulta una nuova transazione?