-
Notifications
You must be signed in to change notification settings - Fork 853
Add neon.safekeeper_conninfo_options GUC #11901
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
If this PR added a GUC in the Postgres fork or If you're an external contributor, a Neon employee will assist in |
a4b0079 to
e6eaa27
Compare
8492 tests run: 7944 passed, 0 failed, 548 skipped (full report)Flaky tests (5)Postgres 17
Postgres 16
Postgres 15
Code coverage* (full report)
* collected from Rust tests only The comment gets automatically updated with the latest test results
4b188aa at 2025-05-27T02:31:58.294Z :recycle: |
2210ca1 to
053ef6a
Compare
problame
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have much context on this and the PR lacks description of how the new field is going to be used.
That said, I can't spot a problem wrt the changed Rust code that requires the CODEOWNERS approval from storage team.
Nit on naming: why not call it just safekeeper_extra_conninfo?
The _options suffix is confusing to me because there is already an options='-c timeline_id=...' piece in the libpq connstring that we assemble, and this new GUC here will not be part of that option string, but just a prefix to the conninfo.
An even more precise name would be safekeeper_conninfo_prepend.
I will amend the commit and PR. Thanks!
Hmm, I'm open to adding the prepend, but the reason I added it in the beginning of the connection strings was so that the extension always overwrites if |
5af9eef to
5ebb064
Compare
5ebb064 to
d2c759f
Compare
|
LGTM, let's merge |
In order to enable TLS connections between computes and safekeepers, we need to provide the control plane with a way to configure the various libpq keyword parameters, sslmode and sslrootcert. neon.safekeepers is a comma separated list of safekeepers formatted as host:port, so isn't available for extension in the same way that neon.pageserver_connstring is. This could be remedied in a future PR. Part-of: neondatabase/neon-archive-cloud#25823 Link: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS Signed-off-by: Tristan Partin <tristan@neon.tech>
d2c759f to
4b188aa
Compare
In order to enable TLS connections between computes and safekeepers, we need to provide the control plane with a way to configure the various libpq keyword parameters, sslmode and sslrootcert. neon.safekeepers is a comma separated list of safekeepers formatted as host:port, so isn't available for extension in the same way that neon.pageserver_connstring is. This could be remedied in a future PR.
Part-of: https://github.com/neondatabase/cloud/issues/25823
Link: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS