diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# v1.0.1.7
+
+## Fixes
+
+- Fixed a `postgresql://` URI conninfo with a percent-encoded Unix-socket host (e.g. `%2ftmp%2f...`) being passed through to `host` still percent-encoded instead of decoded. `parseUri`'s `host`/`port` splitter decoded every other URI component (`user`, `password`, `dbname`, query params) but forwarded the raw, undecoded host bytes. Caught by the `pqi-conformance` differential spec `Pqi.Conformance.Operation.Connectdb.UnixSocketUri`.
+
 # v1.0.1.6
 
 ## Fixes
diff --git a/pqi-native.cabal b/pqi-native.cabal
--- a/pqi-native.cabal
+++ b/pqi-native.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: pqi-native
-version: 1.0.1.6
+version: 1.0.1.7
 category: Database, PostgreSQL
 synopsis: Native (pure-Haskell) adapter for pqi
 description:
@@ -158,5 +158,5 @@
   build-depends:
     base >=4.11 && <5,
     hspec >=2.11 && <2.12,
-    pqi-conformance ^>=1.0.6,
+    pqi-conformance ^>=1.0.7,
     pqi-native,
diff --git a/src/library/Pqi/Native/Connection.hs b/src/library/Pqi/Native/Connection.hs
--- a/src/library/Pqi/Native/Connection.hs
+++ b/src/library/Pqi/Native/Connection.hs
@@ -231,15 +231,15 @@
             Just close ->
               let h = ByteString.take close (ByteString.drop 1 hostport)
                   portStr = ByteString.drop 2 (ByteString.drop close hostport)
-               in (h, readPort portStr)
-            Nothing -> (hostport, 5432)
+               in (pctDecode h, readPort portStr)
+            Nothing -> (pctDecode hostport, 5432)
       | otherwise = case ByteString.elemIndexEnd 0x3a hostport of
           Just c ->
             let h = ByteString.take c hostport
                 p = ByteString.drop (c + 1) hostport
-             in if ByteString.null h then (dfltHost, readPort p) else (h, readPort p)
+             in if ByteString.null h then (dfltHost, readPort p) else (pctDecode h, readPort p)
           Nothing ->
-            (defaultIfEmpty dfltHost hostport, 5432)
+            (defaultIfEmpty dfltHost (pctDecode hostport), 5432)
 
     readPort bs = maybe 5432 fst (ByteString.Char8.readInt bs)
 
