Observação: Eu ainda tenho que encontrar a causa raiz de por que isso é necessário às vezes, no entanto, isso deve corrigi-lo para você.
Existem dois caracteres para indicar o início/parada de caracteres não imprimíveis em readline/libedit (?), 0x01 e 0x02.
Portanto, se você adicionar essas sequências antes e depois das sequências não imprimíveis em seu PROMPT1, deve funcionar. O resultado no seu caso seria:
\set PROMPT1 '%001%[%033[1;33;40m%]%002%[email protected]%/%R%001%[%033[0m%]%002%# '
Atualização: Parece que isso deve ser tratado no psql, em algum lugar eles devem se perder de alguma forma. Talvez
USE_READLINE
não está definido?Veja:Linha 286 em src/bin/psql/prompt.c