मुझे लगता है कि आप यह पूछने की कोशिश कर रहे हैं:
यदि ऐसा है, तो आपका एकमात्र अंतर्निहित विकल्प अनुमतियों का उपयोग करना है। देखें GRANT
और REVOKE
PostgreSQL मैनुअल में।
यदि आप कुछ अधिक जटिल चाहते हैं, तो आप एक ProcessUtility_hook
write लिख सकते हैं , लेकिन इसके लिए यह आवश्यक है कि आप C में एक एक्सटेंशन लिखें जो सर्वर में संकलित और लोड किया गया हो।
एक ProcessUtility_hook
लिखना वास्तव में बहुत कठिन नहीं है, लेकिन PostgreSQL 9.2 और 9.3 परिभाषाओं के बीच अंतर हैं, जिसका अर्थ है कि आपको अलग एक्सटेंशन की आवश्यकता होगी। यहां एक बुनियादी उदाहरण दिया गया है:https://github.com/ringerc/scrapcode/ ट्री/मास्टर/पोस्टग्रेस्क्ल/example_processutility_hook
और यहां एक ProcessUtility हुक है जो वास्तव में कुछ उपयोगी करता है:https://github.com/ringerc/postgres/blob/bdr-reject-unsafe-commands/contrib/bdr/bdr_commandfilter.c
यदि आपके पास C प्रोग्रामिंग का अनुभव नहीं है और कुछ समय के लिए, एक ProcessUtility_hook
आपके लिए नहीं है।
यह भी देखें:टेबल को गिरने से कैसे रोकें?