2013-10-02 23 views
5

İstediğime renk eklediğimde, geçmişe göz attığımda istemden sonra bir çöp kutusu alıyorum.Psql istemi için renkler

ben postgres doc dan önerilen renk istemi komutunu denedim:

\set PROMPT1 '%[%033[1;33;40m%]%[email protected]%/%R%[%033[0m%]%# ' 

Ben de ben google ile aynı sonuçla bulunan diğer istemi örnekler çok çalıştık.

yüzden böyle sarı istemi şey var istemi ayarladıktan sonra:

[email protected]=# 
Sonra sorgu çalıştırmak

: Sonra

[email protected]=# select * from country; 

Benile tarih boyunca fiske ↑. Bu daha bana seçme satırı olanları getirecek, ama bunun yerine alıyorum:

[email protected]=# \set PROMPT1 'select * from country; 

Not başlangıç ​​promt-ayardan bir kalıntısıdır select önce \set.... I \set PROMPT1 -komut .pslqrc

koymak halinde

Ben de ve XTerm gnome-terminali hem de aynı sonucu elde benzer sonuç elde edilir. Bash komutumda benzer şekilde renkli var ama bu komutla ilgili bir sorunum yok.

Neyi yanlış yaptım?

cevap

6

Not: Bu bazen Ancak, bu sizin için bunu düzeltmek gerekir neden gerekli olduğunu temel nedenini bulmak için henüz.

Okunabilir olmayan karakterlerin readline/libedit (?), 0x01 ve 0x02 öğelerinde başlatılmasını/durdurulduğunu gösteren iki karakter vardır.

Dolayısıyla, bunları PROMPT1'inizde yazdırılamayan sekanslardan önce ve sonra eklerseniz, çalışmalıdır. senin durumunda sonuç olacaktır:

\set PROMPT1 '%001%[%033[1;33;40m%]%002%[email protected]%/%R%001%[%033[0m%]%002%# ' 

Güncelleme: Bir yerlere onlar nasıl bazı kaybolmak gerekir, bu olsa psql'de ele alınmalıdır görünüyor. Belki USE_READLINE tanımlanmadı? Bak: Line 286 in src/bin/psql/prompt.c

+0

Postgres yüklememi sürüm 9.3.5'e yükselttim ve sorun giderilmiş gibi görünüyor; Aslında, '% 001' ve '% 002%' renk kodlarını sarmalamak artık @UlfR'nin yayınladığı sorunu tam olarak görünüyor. Çözümünüz * daha eski bir sürümde * çalıştı. Belki de benim kurulumumun sadece bir özelliği. – sevko