ssh(1) -f -o ExitOnForwardFailure=yes -L localhost:5433:"$PGHOST":$db_port $ssh_user@"$ssh_host" -i "$DB_SSH_KEY" sleep 10
OpenSSH SSH client (remote login program)
-f      Requests ssh to go to background just before command execution.  This is useful if ssh is going to
        ask for passwords or passphrases, but the user wants it in the background.  This implies -n.  The
        recommended way to start X11 programs at a remote site is with something like ssh -f host xterm.

        If the ExitOnForwardFailure configuration option is set to “yes”, then a client started with -f
        will wait for all remote port forwards to be successfully established before placing itself in the
        background.
-o option
        Can be used to give options in the format used in the configuration file.  This is useful for
        specifying options for which there is no separate command-line flag.  For full details of the
        options listed below, and their possible values, see ssh_config(5).

              AddressFamily
              BatchMode
              BindAddress
              ChallengeResponseAuthentication
              CheckHostIP
              Cipher
              Ciphers
              ClearAllForwardings
              Compression
              CompressionLevel
              ConnectionAttempts
              ConnectTimeout
              ControlMaster
              ControlPath
              DynamicForward
              EscapeChar
              ExitOnForwardFailure
              ForwardAgent
              ForwardX11
              ForwardX11Trusted
              GatewayPorts
              GlobalKnownHostsFile
              GSSAPIAuthentication
              GSSAPIDelegateCredentials
              HashKnownHosts
              Host
              HostbasedAuthentication
              HostKeyAlgorithms
              HostKeyAlias
              HostName
              IdentityFile
              IdentitiesOnly
              IPQoS
              KbdInteractiveDevices
              KexAlgorithms
              LocalCommand
              LocalForward
              LogLevel
              MACs
              NoHostAuthenticationForLocalhost
              NumberOfPasswordPrompts
              PasswordAuthentication
              PermitLocalCommand
              PKCS11Provider
              Port
              PreferredAuthentications
              Protocol
              ProxyCommand
              PubkeyAuthentication
              RekeyLimit
              RemoteForward
              RequestTTY
              RhostsRSAAuthentication
              RSAAuthentication
              SendEnv
              ServerAliveInterval
              ServerAliveCountMax
              StrictHostKeyChecking
              TCPKeepAlive
              Tunnel
              TunnelDevice
              UsePrivilegedPort
              User
              UserKnownHostsFile
              VerifyHostKeyDNS
              VisualHostKey
              XAuthLocation
-L [bind_address:]port:host:hostport
        Specifies that the given port on the local (client) host is to be forwarded to the given host and
        port on the remote side.  This works by allocating a socket to listen to port on the local side,
        optionally bound to the specified bind_address.  Whenever a connection is made to this port, the
        connection is forwarded over the secure channel, and a connection is made to host port hostport
        from the remote machine.  Port forwardings can also be specified in the configuration file.  IPv6
        addresses can be specified by enclosing the address in square brackets.  Only the superuser can
        forward privileged ports.  By default, the local port is bound in accordance with the GatewayPorts
        setting.  However, an explicit bind_address may be used to bind the connection to a specific
        address.  The bind_address of “localhost” indicates that the listening port be bound for local use
        only, while an empty address or ‘*’ indicates that the port should be available from all
        interfaces.
ssh connects and logs into the specified hostname (with optional user name).  The user must prove his/her
identity to the remote machine using one of several methods depending on the protocol version used (see
below).

If command is specified, it is executed on the remote host instead of a login shell.
-i identity_file
        Selects a file from which the identity (private key) for public key authentication is read.  The
        default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and
        ~/.ssh/id_rsa for protocol version 2.  Identity files may also be specified on a per-host basis in
        the configuration file.  It is possible to have multiple -i options (and multiple identities
        specified in configuration files).  ssh will also try to load certificate information from the
        filename obtained by appending -cert.pub to identity filenames.
source manpages: ssh