Bundled version of libpq is old, and doesn't include SNI support
- Database version (Ex: PostgreSQL 10.0):
PostgreSQL v14, running at neon.tech
- TablePlus version (the number on the welcome or about screen, Ex: build 81):
Version 0.1 (186)
- Linux distro (Ex: Ubuntu 18.04):
Debian, tableplus installed from https://deb.tableplus.com/debian/18
- The steps to reproduce this issue:
When you connect to a Postgres hosted at neon.tech, you get an error like this:
PostgresError: SNI is missing. EITHER please upgrade the postgres client library OR pass the project name as a parameter: '...&options=project%3D<project-name>...'.
See https://github.com/neondatabase/neon/issues/1946#issuecomment-1176792182
This is because neon.tech uses a proxy that relies on Service Name Indicator (SNI) in the TLS handshake to route the connection to the correct Postgres instance. Support for SNI was added to libpq in PostgreSQL v14 (search for "SNI" at https://www.postgresql.org/docs/14/release-14.html)
Am I right that TablePlus is statically linked with an older < 14 version of libpq? Could you update it to the latest version, i.e. 14.4, to get SNI support, please? We've had a few reports already of people trying to use TablePlus with Neon beta now, so it would be nice if it worked out-of-the-box.
-- Heikki, Neon co-founder
Our team is using TablePlus and I have the exact same issue.
The latest releases for macOS (Build 436) and Windows (Build 202) added SNI support:
- https://tableplus.com/blog/2017/02/changelogs.html
- https://tableplus.com/blog/2018/09/changelogs-windows.html
Linux is still pending.
We're working on it.