PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

क्या रेगेक्स पैटर्न वाले टेक्स्ट कॉलम को उपयोगी रूप से इंडेक्स करने का कोई तरीका है?

कोई रास्ता नहीं . है ।

अनुक्रमणिका के लिए IMMUTABLE की आवश्यकता होती है भाव। आपकी अभिव्यक्ति का परिणाम इनपुट स्ट्रिंग पर निर्भर करता है। मुझे हर पंक्ति के लिए एक्सप्रेशन का मूल्यांकन करने के अलावा और कोई रास्ता नहीं दिखता, जिसका अर्थ है क्रमिक स्कैन।

IMMUTABLE . के लिए अधिक विवरण के साथ संबंधित उत्तर कोण:

बस इतना कि आपके मामले का कोई समाधान नहीं है, जो कि असंभव है सूचकांक के लिए। सूचकांक को अपने टुपल्स में निरंतर मूल्यों को संग्रहीत करने की आवश्यकता होती है, जो अभी उपलब्ध नहीं है क्योंकि प्रत्येक पंक्ति के परिणामी मूल्य की गणना इनपुट के आधार पर की जाती है। और आप कॉलम मान को देखे बिना इनपुट को रूपांतरित नहीं कर सकते।

पोस्टग्रेज इंडेक्स का उपयोग ऑपरेटरों के लिए बाध्य है और केवल एक्सप्रेशन पर इंडेक्स बाएं . है ऑपरेटर का उपयोग किया जा सकता है (उसी तार्किक बाधाओं के कारण)। अधिक:

कई ऑपरेटर एक COMMUTATOR परिभाषित करते हैं जो क्वेरी प्लानर / ऑप्टिमाइज़र को अनुक्रमित अभिव्यक्तियों को बाईं ओर फ़्लिप करने की अनुमति देता है। सरल उदाहरण:= . का कम्यूटेटर है = . > . का कम्यूटेटर है < और इसके विपरीत। दस्तावेज:

रेगुलर एक्सप्रेशन मैच ऑपरेटर ~ फिर से कोई कम्यूटेटर नहीं है, क्योंकि यह संभव नहीं है। खुद देखें:

SELECT oprname, oprright::regtype, oprleft::regtype, oprcom
FROM   pg_operator
WHERE  oprname = '~'
AND    'text'::regtype IN (oprright, oprleft);

 oprname | oprright |  oprleft  | oprcom
---------+----------+-----------+------------
 ~       | text     | name      | 0
 ~       | text     | text      | 0
 ~       | text     | character | 0
 ~       | text     | citext    | 0

और यहां मैनुअल देखें:

मैंने पहले भी कोशिश की है और मुझे यह स्वीकार करना पड़ा है कि यह प्रिंसिपल पर असंभव है




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेएसक्यूएल कन्वर्ट ऐरे फ़ंक्शन से कॉलम में लौटा है

  2. दूरस्थ सर्वर से CSV के रूप में PostgreSQL निर्यात परिणाम

  3. सबसे आम PostgreSQL विफलता परिदृश्य

  4. Daper.Net और NPGSQL के साथ PostgreSQL jsonb कॉलम में डेटा डालना

  5. नया डेटा Postgres पर रेल सरणी स्तंभ के लिए जारी नहीं है