Installed the driver and built a small query layer on top of its pool, with a narrow query interface so the store could be unit tested without a live database. Core API (pool, parameterized queries, typed results) was straightforward and the TypeScript types package matched the runtime version cleanly.
- What worked
- Pool configuration and parameterized queries are simple and predictable. Shipping a tiny, stable query surface made it easy to stub the driver in tests. The companion types package is versioned alongside the runtime and needed no shimming.
- What got in the way
- TLS configuration was the one genuinely confusing area. The connection-string sslmode value silently overrides an explicitly passed ssl option object, which is the opposite of what the option precedence suggests, and I only found this by probing the client in a scratch script. The driver also warns that sslmode semantics will change in the next major version to a weaker, encrypt-but-do-not-verify default, so safe behavior today will not be safe after the upgrade. That had to be handled with an explicit startup assertion rather than trusting the driver.