Run 9074's smoke restore stopped at "SET transaction_timeout = 0": pg_restore 17 sends it, and the Postgres 16 server doesn't know the setting. Each section is now written as a script (pg_restore --file=-), that one line is dropped, and psql -v ON_ERROR_STOP=1 runs the rest, so any other error still stops the restore. If psql stops, pg_restore is killed rather than left blocked on its pipe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>