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

जियोसर्वर मेरे पोस्टग्रेएसक्यूएल अपडेट करने योग्य दृश्य को नहीं लिखेगा

सबसे पहले, मैं फ्रैंक के साथ और अधिक सहमत नहीं हो सका। 9.1 और एक टेबल ट्रिगर का प्रयोग करें। हालांकि, यह संभव है कि न तो वह और न ही कोई दृश्य आपकी समस्या का समाधान करेगा।

मैन्युअल UPDATE करने का प्रयास करें psql से आपके विचार पर। यदि यह काम करता है, और यदि आप एक ही उपयोगकर्ता आईडी का उपयोग opengeospatial के साथ करते हैं, तो मैं कहूंगा कि यह समस्या opengeospatial हो सकती है जो अपने स्वयं के अच्छे के लिए बहुत चालाक है और "जानना" है कि विचारों को अद्यतन नहीं किया जा सकता है। या तो वह, या यह INSERT का प्रयास कर रहा है और आपने कोई मेल खाने वाला INSERT नहीं जोड़ा है अपने विचार पर शासन करें।

संदेश "filedata_view केवल-पढ़ने के लिए है" एक संदेश नहीं है जो PostgreSQL उत्पन्न कर सकता है। मैं सोच रहा हूँ कि क्या opengeospatial JDBC मेटाडेटा का उपयोग कर रहा है (यह जावा है) या INFORMATION_SCHEMA या स्कीमा को क्वेरी करने के समान, यह निर्धारित कर रहा है कि filedata_view एक दृश्य है, और यह निष्कर्ष निकाल रहा है कि इसलिए यह इसे अद्यतन नहीं कर सकता।

यदि यह PostgreSQL का एक संदेश होता तो इसके बजाय यह कहता:

# UPDATE customer_v SET customer_number = 1234; 
ERROR:  cannot update view "the_view" 
HINT:  You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger.

log_statement = 'all' . को सक्षम करना जानकारीपूर्ण हो सकता है में postgresql.conf और postgresql पुनः लोड करें। पुन:परीक्षण करें, फिर लॉग में देखें कि वास्तव में opengeospatial क्या कर रहा है।

यदि यह पता चलता है कि यह एक दृश्य का पता लगा रहा है, तो आप ON SELECT के साथ समस्या को हल करने में सक्षम हो सकते हैं नियम एक खाली तालिका में जोड़ा गया। तालिका एक दृश्य की तरह काम करेगी, लेकिन जियोसर्वर यह नहीं बता पाएगा कि यह एक दृश्य है और इसे लिखने के लिए सहमत हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पांडा से डेटाबेस में मौजूदा पंक्ति अद्यतन करें df

  2. डायनेमिक क्वेरी फंक्शन को पोस्टग्रेज करता है

  3. पोस्टग्रेज के साथ न्यूनतम या अधिकतम इनसेट/सीडीआर के लिए क्वेरी कैसे करें

  4. postgresql विशिष्ट तालिका से विशिष्ट कॉलम को डीबी से दूसरे में निर्यात करने का सबसे अच्छा तरीका क्या है?

  5. अगर मैं Apache::DBI's Connect_cached() का उपयोग कर रहा हूं, तो क्या मुझे डिस्कनेक्ट () करना चाहिए?