"Peter J. Holzer" <hjp-pgsql@xxxxxx> writes: > One of our users reports getting the error message > "expected authentication request from server, but received H" > when trying to connect to the database. That's very bizarre, and I don't recall any similar reports in the recent past. > Server is PostgreSQL 15.7 (Ubuntu 15.7-1.pgdg22.04+1) > I haven't been able to find out what client version they are using yet, > but I suspect it's quite old. It would definitely be interesting to find out what the client-side code is, including the openssl version being used. > We've been on 15.x for quite a while now and it did work until at least > a month ago, so I wouldn't expect an incompatible protocol change, > however, I think the upgrade from 15.6 to 15.7 was just last week, so > maybe something changed between these minor versions? A look at the release notes doesn't suggest that anything was changed in that area. But I wonder if your new build could differ in some other relevant way, such as being linked to a newer openssl version. > I'm especially intrigued by "received H". According to > https://www.postgresql.org/docs/current/protocol-message-formats.html > Byte1('H') could mark a Copy Out response or a Flush command. Both don't > make sense in that context. Yeah, that couldn't be a valid message type byte here. I guess that either (a) the TLS stuff is going wrong and delivering garbage data, or (b) libpq is somehow out of sync with the server, such that it's taking a data byte as a message type byte. I found a description of an ancient instance of (b) here: https://www.postgresql.org/message-id/flat/CAAZKuFaxdPccCs9%2B2hTbMM5iwPZP6C494sAVz6qZhOPcYSGkTQ%40mail.gmail.com Of course we fixed that a dozen years ago, and anyway that particular problem required a server that is in dire straits. regards, tom lane