SET lock_timeout TO '1s';
No, my assumption is that lock_timeout does not cover my use case here. My point is actually that any one statement is not hitting lock_timeout, but as a whole the transaction takes too long. For example if I set lock_timeout to 1 second, but my migration actually has 10 SQL statements each of which take just under a second, I have a total now of a near 10-second lockout.
Regardless of whether or not I am technically going idle, I want to be able to abort based on transaction time length. I do believe I can handle this externally via the timeout command, but curious still if there is any way to reliably do it from within postgres.
Thanks,
Jeremy