startupComplete

False until the startup handshake reaches its first ReadyForQuery.

The parameters that arrive during login come in one burst and are reported as a single line by the authenticator. Only what changes after that is an event of its own, and this is what tells the two apart.