Tomas Vondra <to...@vondra.me> writes: > I'm not terribly familiar with libedit, so can't say if it's a bug in > libedit, or if we're just using it wrong in some way. I investigated > that while on a flight from pgconf.eu, but can't look into this further. > So let me at least share the behavior I observed, and what I found. > Note: All of this is with libedit-3.1-53.20240808cvs.fc40.x86_64, which > is what I currently get in Fedora 40.
libedit has been a hot mess for a long time. psql's input.c has workarounds for assorted bugs that it has or had in prior versions, and what I suspect is that latest libedit has a different set of bugs. FWIW, I don't observe any particular misbehavior with the very ancient libedit that macOS ships. On Fedora 39, I notice something related to what you say: it seems like the "\q" ending a session gets repeated into .psql_history by the next session. I'm surprised that it's not exactly the same as your results though, because it seems to be the same source version: $ rpm -q libedit libedit-3.1-53.20240808cvs.fc39.x86_64 Didn't try the too-many-lines behavior, but it looks like that is implemented totally by history_truncate_file(), so if that's busted it's surely their fault. regards, tom lane