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

Postgresql:एक अलग क्लाइंट में 10x धीमी क्वेरी करें

आप यह जांचना चाहेंगे कि धीमा क्लाइंट एसएसएल एन्क्रिप्शन करता है या नहीं। यह डिफ़ॉल्ट रूप से तब होता है जब इसे सर्वर पर सेट किया जाता है और क्लाइंट को एसएसएल समर्थन के साथ संकलित किया जाता है।

बड़ी मात्रा में डेटा पुनर्प्राप्त करने वाले प्रश्नों के लिए, समय अंतर महत्वपूर्ण है। इसके अलावा कुछ लिनक्स वितरण जैसे डेबियन/उबंटू में डिफ़ॉल्ट रूप से एसएसएल है, यहां तक ​​​​कि स्थानीयहोस्ट के माध्यम से टीसीपी कनेक्शन के लिए भी।

एक उदाहरण के रूप में, एक गर्म कैश के साथ कुल 64Mbytes वजन वाली 1,5M पंक्तियों को पुनर्प्राप्त करने वाली क्वेरी के लिए समय अंतर है।

एन्क्रिप्शन के बिना:

$ psql "host=localhost dbname=mlists sslmode=disable"
Password: 
psql (9.1.7, server 9.1.9)
Type "help" for help.

mlists=> \timing
Timing is on.
mlists=> \o /dev/null
mlists=> select subject from mail;
Time: 1672.258 ms

एन्क्रिप्शन के साथ:

$ psql "host=localhost dbname=mlists"
Password: 
psql (9.1.7, server 9.1.9)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.

mlists=> \o /dev/null
mlists=> \timing
Timing is on.
mlists=> select subject from mail;
Time: 7017.935 ms

इसे विश्व स्तर पर बंद करने के लिए, कोई SSL=off set सेट कर सकता है में postgresql.conf

क्लाइंट पतों की विशिष्ट श्रेणियों के लिए इसे बंद करने के लिए, pg_hba.conf में प्रविष्टियां जोड़ें hostnossl . के साथ अधिक सामान्य host . से पहले पहले क्षेत्र में प्रविष्टियां।

क्लाइंट-साइड को बंद करने के लिए, यह इस बात पर निर्भर करता है कि ड्राइवर sslmode . को कैसे उजागर करता है कनेक्शन पैरामीटर। यदि ऐसा नहीं होता है, तो PGSSLMODE पर्यावरण चर का उपयोग किया जा सकता है यदि ड्राइवर को libpq . के शीर्ष पर कार्यान्वित किया जाता है ।

यूनिक्स डोमेन सॉकेट के माध्यम से कनेक्शन के लिए (local ), SSL का उनके साथ कभी भी उपयोग नहीं किया जाता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेएसक्यूएल 9.3 . में गतिशील तालिका का नाम

  2. 'स्थानीय समय क्षेत्र' में पोस्टग्रेएसक्यूएल की बचत तिथि, जबकि मैं इसे Django के साथ 'यूटीसी' पर सेट करता हूं

  3. Django को गति दें और साधारण JSON फ़ील्ड के साथ पोस्टग्रेज करें

  4. PostgreSQL संग्रहीत प्रक्रियाओं को सीखने का सबसे अच्छा तरीका?

  5. Postgresql में नाम से ड्रॉप बाधा