Skip to content

Disable DNS resolution in ruby when service file is used#727

Open
larskanis wants to merge 1 commit into
ged:masterfrom
larskanis:respect-service
Open

Disable DNS resolution in ruby when service file is used#727
larskanis wants to merge 1 commit into
ged:masterfrom
larskanis:respect-service

Conversation

@larskanis

Copy link
Copy Markdown
Collaborator

This is based on @travismiller's idea to disable to disable DNS resolution in case of "service" parameter is used.
#635 (comment)

Since pg-1.3 the DNS resolution is done non-blocking in ruby. But pg-1.3 changed the order parameters are processed from:
connection string => service file => environment variable => compiled default
to:
connection string => PGSERVICE => environment variable => compiled default => explicit "service"

This commit changes parameter processing order back to libpq's order. Using blocking IO for DNS resolution in case of "service" parameter seems to be a reasonable tradeoff.

Fixes #635

@larskanis larskanis force-pushed the respect-service branch 2 times, most recently from 8fc911a to 44b9a05 Compare June 30, 2026 08:50
This is based on @travismiller's idea to disable to disable DNS resolution in case of "service" parameter is used.
  ged#635 (comment)

Since pg-1.3 the DNS resolution is done non-blocking in ruby.
But pg-1.3 changed the order parameters are processed from:
	connection string => service file => environment variable => compiled default
to:
	connection string => PGSERVICE => environment variable => compiled default => explicit "service"

This commit changes parameter processing order back to libpq's order.
Using blocking IO for DNS resolution in case of "service" parameter seems to be a reasonable tradeoff.

Fixes ged#635
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

service connection string and environment variables interact differently in ruby-pg than psql

1 participant