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

~/.psqlrc डीबीए के लिए फ़ाइल

हमारी नियमित डीबीए निगरानी में, हम लेन-देन में , प्रतीक्षा प्रश्नों, कनेक्शनों की संख्या आदि जैसी सूचनाओं को पुनः प्राप्त करने के लिए pg_catalog प्रश्नों के इतने संयोजन का उपयोग करेंगे। अधिकांश DBA, छोटे बड़े संयोजन प्रश्नों को काटने के लिए विचार बनाते हैं और आवश्यकता के अनुसार बाद में उपयोग के लिए संभाल कर रखें।

PostgreSQL, एक स्टार्टअप फ़ाइल (.psqlrc) प्रदान करता है जो psql उपयोगिता के साथ उपयोग करते समय डेटाबेस से कनेक्ट होने से पहले निष्पादित होती है। .psqlrc फ़ाइल का उपयोग करके आप अपने सभी महत्वपूर्ण प्रश्नों को 'सेट' कमांड द्वारा एक शब्द उपनाम के साथ रख सकते हैं और बड़े प्रश्नों को टाइप करने के बजाय इसे psql टर्मिनल में निष्पादित कर सकते हैं। यदि आप 'postgres' उपयोगकर्ता होम निर्देशिका में .psqlrc फ़ाइल नहीं देखते हैं, तो आप इसे स्पष्ट रूप से बना सकते हैं। मैंने इसे आजमाया और बहुत मददगार पाया।

.psqlrc पर अंक:
  • .psqlrc एक स्टार्टअप फ़ाइल है, जो क्लस्टर से कनेक्ट होने पर निष्पादित होती है।
  • .psqlrc फ़ाइल 'postgres' उपयोगकर्ता होम निर्देशिका में रहेगी।
  • psql विकल्प -X या -c, .psqlrc फ़ाइल न पढ़ें।
  • .psqlrc फ़ाइल पूरे सत्र-स्तर के लिए है न कि डेटाबेस स्तर के लिए।

मेरा टर्मिनल स्क्रीनशॉट:

आइए देखें कि इसे कैसे लागू किया जाए।

वाक्यविन्यास:

set <alias-variable-name>  'query'
ध्यान दें:अगर आपकी क्वेरी में सिंगल या डबल कोट्स हैं तो क्वेरी में ' या ” का इस्तेमाल करें। उपनाम के साथ .psqlrc फ़ाइल में डालने के लिए नमूना क्वेरी:
vi ~/.psqlrc

set PAGER OFF

set waits 'SELECT pg_stat_activity.procpid, pg_stat_activity.current_query, pg_stat_activity.waiting, now() - pg_stat_activity.query_start as "totaltime", pg_stat_activity.backend_start FROM pg_stat_activity WHERE pg_stat_activity.current_query !~ '%IDLE%'::text AND pg_stat_activity.waiting = true;;'

set locks 'select pid,mode,current_query from pg_locks,pg_stat_activity where granted=false and locktype='transactionid' and pid=procpid order by pid,granted;;'

:wq!

उपयोग:

postgres=# :waits
procpid | current_query | waiting | totaltime | backend_start
---------+-------------------------------+---------+-----------------+----------------------------------
9223 | insert into locks VALUES (1); | t | 00:00:18.901773 | 2011-10-08 00:29:10.065186+05:30
(1 row)

postgres=# :locks
pid | mode | current_query
------+-----------+-------------------------------
9223 | ShareLock | insert into locks VALUES (1);
(1 row)

क्या यह मददगार नहीं था। आनंद लेना… :)। कुछ और चीजों के साथ वापस आऊंगा।


  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. पीजी -वी 0.17.1 . स्थापित करना

  3. PostgreSQL ROLE (उपयोगकर्ता) बनाएं यदि यह मौजूद नहीं है

  4. PostgreSQL विशेषाधिकार और सुरक्षा - सार्वजनिक योजना को बंद करना

  5. कैसे pgBouncer Django को गति देने में मदद करता है