的Postgres Ltree的文檔說有效字符在字符集UTF8
標籤是字母數字字符和下劃線(例如,在C的序列區域設置字符A-ZA-z0- 9_被允許)。標籤長度不得超過256個字節。
但是,並不是說如果我們將語言環境設置爲'en_US.UTF-8',Postgres Ltree中可以使用的有效字符是什麼。那麼,在Ltree的標籤中可以使用連字符(連字符)嗎?
的Postgres Ltree的文檔說有效字符在字符集UTF8
標籤是字母數字字符和下劃線(例如,在C的序列區域設置字符A-ZA-z0- 9_被允許)。標籤長度不得超過256個字節。
但是,並不是說如果我們將語言環境設置爲'en_US.UTF-8',Postgres Ltree中可以使用的有效字符是什麼。那麼,在Ltree的標籤中可以使用連字符(連字符)嗎?
對不起,不更新答案。
是的,我終於想通了,這是我們的DBA的一個改變ltree的源和配套的破折號重新編譯( - )字符。我們有一個超過6B記錄的單表。
由於您有超過6B條記錄,包含破折號是否存在問題?或者一切都很好?只是想知道爲什麼標籤限制放在首位。你也有補丁託管的地方嗎?謝謝。 –
@Charizard是的,一切都很好,我不知道爲什麼** ltree **的作者沒有在原始源代碼中。該補丁非常簡單。你可以看看[源代碼](http://doxygen.postgresql.org/ltree_8h.html#a1cb5d5dd0c364d720854e8a250967dd1),即[ltree.h]的83行(http://doxygen.postgresql.org /ltree_8h_source.html) – andy
非常感謝@andy。 –
它提到語言環境意味着它將處於當前語言環境的編碼中,所以是的,如果數據庫是UTF-8,那麼您可以使用UTF-8字符。 –
@CraigRinger,是的,我有測試,我甚至可以插入一箇中國字符。 – andy
@andy在ltree標籤中使用hypen( - )的運氣如何? –