Are semicolon-delimited Postgres commands run serial or parallel?
All SQL commands in a single batch are executed linearly; that is the first statement is executed, then the second is executed after the first completes.

The only way to get multiple statements to run in parallel is to execute each statement on a separate connection.

So, to confirm, the two statements in your batch will always execute linearly, i.e. the insert will run first, then the update will run.