Забележка: Все още не съм открил основната причина защо това е необходимо понякога, но това трябва да го поправи вместо вас.
Има два знака за указване на начало/стоп на непечатаеми знаци в readline/libedit (?), 0x01 и 0x02.
Така че, ако добавите тези преди и след непечатаемите последователности във вашия PROMPT1, трябва да работи. Резултатът във вашия случай ще бъде:
\set PROMPT1 '%001%[%033[1;33;40m%]%002%[email protected]%/%R%001%[%033[0m%]%002%# '
Актуализация: Изглежда обаче, че това трябва да се обработва в psql, някъде те трябва да се изгубят по някакъв начин. Може би USE_READLINE
не е дефинирано? Вижте:Ред 286 в src/bin/psql/prompt.c