Big script execution
On Mon, 2025-03-10 at 16:42 -0500, Igor Korot wrote:
I am trying to execute a huge script (~40K lines) that will populate
my database.The script starts with "BEGIN TRANSACTION" and will end
with "COMMIT".however I'd like to rollback if there is an error encounter.
When I execute it from the Terminal I do use
-v ON_ERROR_STOP=1
but I'd like to rolback the transaction so it starts a fresh every time.
Is there some kind of
ON ERROR ROLLBACK
command I can put inside the script?
That happens automatically: if you are running the whole script in a
single transaction, any error will make the whole transaction roll back.
Yours,
Laurenz Albe
Hi, Laurenz,
On Mon, Mar 10, 2025, 11:31 AM Laurenz Albe <laurenz.albe@cybertec.at>
wrote:
On Mon, 2025-03-10 at 16:42 -0500, Igor Korot wrote:
I am trying to execute a huge script (~40K lines) that will populate
my database.The script starts with "BEGIN TRANSACTION" and will end
with "COMMIT".however I'd like to rollback if there is an error encounter.
When I execute it from the Terminal I do use
-v ON_ERROR_STOP=1
but I'd like to rolback the transaction so it starts a fresh every time.
Is there some kind of
ON ERROR ROLLBACK
command I can put inside the script?
That happens automatically: if you are running the whole script in a
single transaction, any error will make the whole transaction roll back.
Will the tables also be deleted?
The CREATE TABLE statements are part of this big transaction.
Thank you.
Show quoted text
Yours,
Laurenz Albe
On Mar 10, 2025, at 09:35, Igor Korot <ikorot01@gmail.com> wrote:
Will the tables also be deleted?
The CREATE TABLE statements are part of this big transaction.
Yes. DDL is transactional in PostgreSQL just like DML.
Thank you!
On Mon, Mar 10, 2025, 11:37 AM Christophe Pettus <xof@thebuild.com> wrote:
Show quoted text
On Mar 10, 2025, at 09:35, Igor Korot <ikorot01@gmail.com> wrote:
Will the tables also be deleted?
The CREATE TABLE statements are part of this big transaction.Yes. DDL is transactional in PostgreSQL just like DML.
Hi, ALL,
I am trying to execute a huge script (~40K lines) that will populate
my database.
The script starts with "BEGIN TRANSACTION" and will end
with "COMMIT".
however I'd like to rollback if there is an error encounter.
When I execute it from the Terminal I do use
-v ON_ERROR_STOP=1
but I'd like to rolback the transaction so it starts a fresh every time.
Is there some kind of
ON ERROR ROLLBACK
command I can put inside the script?
Thank you.