denodrivers / denodrivers/postgres

Allow setting ClientControls/decoder when using a connection string

Open
#509 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
655
Forks
97
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

I only have a connection string to connect to the database, so I cannot create a `ClientOptions` instance with individual fields (database, hostname, user, password, etc) - I just don't have those values. However, `ClientControls` is a field on `ClientOptions`, instead of being a separate parameter of the `Client`/`Pool` constructors. This means I cannot change `decoder` settings, which I need to do (I want to set `decodeStrategy` to `"string"`, as I want to manually use `Temporal` in place of the default `Date` handling).

**Describe the solution you'd like**

Provide overloads for the constructors of `Client` and `Pool` that take both a connection string and a `ClientControls` instance.

**Describe alternatives you've considered**

- Pick apart my connection string manually to extract the values I need. Duplicates work that deno-postgres is already doing.
- Specify `::text` for every `select`ed column, hacking around the automatic type conversions. Noisy and error-prone.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.