Nota: Devo ancora trovare la causa principale del motivo per cui questo è necessario a volte, tuttavia, questo dovrebbe risolverlo per te.
Ci sono due caratteri per indicare l'inizio/fine dei caratteri non stampabili in readline/libedit (?), 0x01 e 0x02.
Quindi, se li aggiungi prima e dopo le sequenze non stampabili nel tuo PROMPT1, dovrebbe funzionare. Il risultato nel tuo caso sarebbe:
\set PROMPT1 '%001%[%033[1;33;40m%]%002%[email protected]%/%R%001%[%033[0m%]%002%# '
Aggiornamento: Sembrerebbe che questo dovrebbe essere gestito in psql, da qualche parte devono perdersi in qualche modo. Forse USE_READLINE
non è definito?Vedi:Linea 286 in src/bin/psql/prompt.c