तो मेरे पास एक पीजी समारोह है create_order
(भाषा पीएल / पीजीएसक्यूएल है) जो कुछ तर्क स्वीकार करती है। मैंने देखा है कि हर बार जब मैं तर्क नाम, उसका प्रकार संशोधित करता हूं, या यदि मैं एक नया तर्क जोड़ता हूं, तो मुझे फ़ंक्शन को छोड़ना होगा (CREATE OR REPLACE
काम नहीं करता)
तो मैं सोच रहा हूं कि अगर मैं सिर्फ एक ही तर्क को स्वीकार करता हूं jsonb
और इसे दिन बुलाओ ... तो हस्ताक्षर दिखेगा create_order(args jsonb)
मेरे प्रश्न हैं
- क्या यह प्रोग्रामिंग दृष्टिकोण से पीजी "दुनिया" (प्रदर्शन या कुछ अन्य पहलू को प्रभावित करता है) या खराब अभ्यास में खराब अभ्यास माना जाता है
- यदि # 1 खराब दृष्टिकोण है, तो क्या यह कस्टम समग्र प्रकार बनाना बेहतर होगा और इसे फ़ंक्शन के लिए तर्क के रूप में उपयोग करेगा?
उत्तर:
उत्तर № 1 के लिए 1मुझे एक बड़ी समस्या नहीं है jsonb
फ़ंक्शन पैरामीटर, सिवाय इसके कि व्यक्तिगत पैरामीटर यह स्पष्ट करते हैं कि इनपुट मान क्या हैं। लेकिन वह कुछ भी नहीं है जिसे दस्तावेज के साथ तय नहीं किया जा सकता है।
दूसरी तरफ, हस्ताक्षर में परिवर्तन होने पर मुझे कार्यों को छोड़ने और पुनर्निर्माण के साथ कोई समस्या नहीं दिखती है। यह एक अनुस्मारक के रूप में कार्य कर सकता है कि साइटों को कॉल करने की आवश्यकता है।
मैं कहता हूं कि आपको उस दृष्टिकोण के साथ जाना चाहिए जो आपको और समस्या को सर्वोत्तम रूप से फिट करता है - यह PostgreSQL बिंदु दृश्य से कोई फर्क नहीं पड़ता।