property

SQL.PostgresOrMySQLOptions.channelBinding

channelBinding?: 'require' | 'disable' | 'prefer'

PostgreSQL only. Whether a SCRAM login over TLS is tied to the server's certificate (SCRAM-SHA-256-PLUS), so that someone who terminates TLS between the client and the server cannot pass the login on.

  • "prefer": binds the login when the connection uses TLS and the server offers it
  • "require": only accepts a bound login. Otherwise the connection fails with ERR_POSTGRES_CHANNEL_BINDING_REQUIRED: without TLS, and when the server asks for an MD5 password, a clear text password, or none.
  • "disable": never binds the login

Also the ?channel_binding= parameter of the URL, and the PGCHANNELBINDING environment variable.

On MySQL and MariaDB, "require" throws when the client is created, and the other values have no effect.