skunk icon indicating copy to clipboard operation
skunk copied to clipboard

Add support for unix domain sockets (and peer authentication)

Open mpilquist opened this issue 8 months ago • 2 comments

Adds support for connecting to the Postgres server via unix domain sockets.

Example usage:

Session.Builder[IO]
  .withUnixSockets
  .withUser("jimmy")
  .withDatabase("world")
  .single

The above configuration results in connecting via /tmp/.s.PGSQL.5432. Variations of withUnixSockets are supplied for customizing the path.

Supports both trust and peer authentication types.

TODO: Figure out how to test this with the current docker-compose based configuration

mpilquist avatar Mar 25 '25 02:03 mpilquist

I tried adding a test in c521068 but it fails on Mac w/ Colima due to permissions issues. The new container fails to start with this error:

025-03-25 12:57:24.774 UTC [49] LOG:  could not set permissions of file "/var/run/postgresql/.s.PGSQL.5432": Invalid argument
2025-03-25 12:57:24.774 UTC [49] WARNING:  could not create Unix-domain socket in directory "/var/run/postgresql"
2025-03-25 12:57:24.774 UTC [49] FATAL:  could not create any Unix-domain sockets
2025-03-25 12:57:24.782 UTC [49] LOG:  database system is shut down

Tried various things (e.g. changing fstype used by Colima, symlink nonsense, etc) without luck.

mpilquist avatar Mar 25 '25 14:03 mpilquist

Codecov Report

Attention: Patch coverage is 52.17391% with 11 lines in your changes missing coverage. Please review.

Project coverage is 83.24%. Comparing base (a2c4f74) to head (7ca500b). Report is 197 commits behind head on main.

Files with missing lines Patch % Lines
modules/core/shared/src/main/scala/Session.scala 50.00% 11 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1192      +/-   ##
==========================================
- Coverage   83.94%   83.24%   -0.70%     
==========================================
  Files         138      140       +2     
  Lines        2136     2238     +102     
  Branches      243      230      -13     
==========================================
+ Hits         1793     1863      +70     
- Misses        343      375      +32     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov-commenter avatar Apr 05 '25 19:04 codecov-commenter