मैं कस्टम डेटाबेस चर कैसे सेट और प्राप्त कर सकता हूं?


9

PGAdmin IIIडेटाबेस का उपयोग करके मैं राइट-क्लिक कर सकता हूं, Variablesटैब पर नेविगेट कर सकता हूं , और डेटाबेस पर ही वैरिएबल नेम-वैल्यू प्रॉपर्टी डाल सकता हूं । क्या इन्हें अनुकूलित करने का कोई तरीका है? मैंने एक application_nameचर देखा , लेकिन मैं एक application_versionचर रखना चाहूंगा ।

जवाबों:


8

आपको अपनी postgresql.confपसंद के अंत में वैरिएबल को जोड़ना होगा

#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

custom_variable_classes = 'general'     # list of custom variable class names

general.application_version = 'v1.0'

जब पुनरारंभ किया जाता है, तो आप general.application_versionमैन्युअल रूप से PgAdmin में जोड़ सकते हैं (यह ड्रॉप-डाउन में नहीं दिखाई देगा - कम से कम मेरे लिए नहीं)। अन्यथा, आप इसे किसी भी अन्य PostgreSQL चर की तरह उपयोग कर सकते हैं।

संस्करण 9.2 और नए के लिए अद्यतन करें

PostgreSQL 9.2 के बाद से, हमें custom_variable_classesअब और सेट नहीं करना है। कोई भी वैरिएबल सेट कर सकता है, जो वे चाहते हैं - केवल सीमा लगती है कि इसके दो भाग हैं:

SET something TO 'bla';
ERROR:  unrecognized configuration parameter "something"

SET thing.something TO 'bla';
SET

मुझे लगता है कि यह बिलिन मापदंडों के साथ टकराव से बचने के लिए है।


हममम। डेटाबेस में SQL क्वेरी से ऐसा करने का कोई तरीका नहीं है?
जेरेमी होलोवाक्स

आपको पहले postgresql.conf में वेरिएबल्स को परिभाषित करना होगा। AFAIK को PostgreSQL को पुनः आरंभ करने की आवश्यकता है, इसलिए आप SQL से ऐसा नहीं कर सकते।
डेज़ो

8

@ Dezso के उत्तर में जोड़ने के लिए, इन चरों को बदला जा सकता है

SELECT set_config('class.name', 'value', valid_for_transaction_only::boolean)

और साथ पढ़ें

SELECT current_setting('class.name')

अधिक जानकारी के लिए यह लिंक देखें: http://www.postgresql.org/docs/9.3/static/functions-ad.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.