ant - PostgreSQL त्रुटि:स्तंभ am.amcanorder मौजूद नहीं है




(5)

मेरे लिए (एक जावा / मेवेन अनुप्रयोग से PostgreSQL से कनेक्ट करना और एक ही त्रुटि का सामना करना पड़ रहा है) यह एक ड्राइवर समस्या थी।

PostgreSQL ड्राइवर को 9.4-1201-jdbc41 से 42.1.4 करने के लिए अद्यतन किया गया। मेरी मावेन निर्भरता अब इस तरह दिखती है:

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.1.4</version>
    </dependency>

मैं CentOS रिलीज 6.8 (फ़ाइनल) आधारित सर्वर पर sudo पहुंच के बिना काम कर रहा हूं। मैंने पोस्टग्रेएसक्यूएल v9.6 बीटा 2 संकलित किया

जब मैं चींटी का उपयोग करते हुए डेटा लोड कर रहा हूं, तो मुझे.मैकेमेनस कॉलम मौजूद नहीं है, जो मुझे नहीं पता कि यह कैसे ठीक है।

मैं इंटरमाइन डेटा वेयरहाउसिंग सिस्टम सेट अप करने के लिए ट्यूटोरियल का पालन कर रहा हूं और मैं इस कदम पर हूं।

 ant -Dsource=uniprot-malaria -v

इसे पूरा करने में कुछ मिनट लगेंगे, कमांड निम्न चरणों को चलाता है:

  • यह जांच करता है कि प्रोजेक्ट.एक्सएमएल नाम में यूनिप्रॉट-मलेरिया नाम से एक स्रोत मौजूद है
  • UNiProt XML फ़ाइलों को src.data.dir द्वारा निर्दिष्ट स्थान पर पढ़ता है
  • पार्सर्स को फाइलों की सूची के साथ यूनिप्रोत स्रोत में शामिल किया गया है, यह मूल एक्सएमएल पढ़ता है और ऐसे आइटम बनाता है जो वस्तुओं का मेटाडाटा प्रस्तुतिकरण होता है जो मैलेरीमाइन डेटाबेस में लोड हो जाएगा।
  • ये आइटम एक मध्यवर्ती वस्तुओं डेटाबेस में संग्रहीत हैं आइटम डेटाबेस से पढ़ता है, आइटमों को ऑब्जेक्ट में धर्मान्तरित करता है और उन्हें मैलेरीमाइन डेटाबेस में लोड करता है

बोल्ड हिस्सा है जो (मेरी राय में) त्रुटि पैदा करता है संबंधित त्रुटि वर्बोस है:

org.postgresql.util.PSQLException: ERROR: column am.amcanorder does not exist
  Position: 407
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:283)
        at org.postgresql.jdbc2.AbstractJdbc2DatabaseMetaData.getIndexInfo(AbstractJdbc2DatabaseMetaData.java:4234)
        at org.intermine.task.CreateIndexesTask.execute(CreateIndexesTask.java:212)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

मुझे स्प्रिंगबूट के साथ एक ही समस्या का सामना करना पड़ा और मेरे ड्राइवर का उन्नयन करके इसे हल किया

स्प्रिंग बूट 1.4.0 के लिए मैंने सिर्फ निम्नलिखित निर्भरता को जोड़ा है

<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency>


अच्छी तरह से समस्या v9.5.3, इस समय नवीनतम स्थिर संस्करण संकलन द्वारा तय किया गया था। पहले, मैं v9.6beta2 का उपयोग कर रहा था ... जिसमें JDBC और v9.6beta2 के साथ काम करते समय एक त्रुटि हुई है।


प्लेयर 87 सही है, यह केवल नए संस्करण 9.6 * को 9.5 * के साथ PostgresSQL सर्वर के *।
लेकिन, एक और समाधान है जावा प्रोजेक्ट के लिए, मैंने 9 .6। पर PostgresSQL सर्वर को छोड़ने का भी प्रयास किया है और PostgresSQL ड्रायवर को संस्करण 9.4-1203 से नवीनतम 9.4-1211 तक अपडेट किया है। एक मैवेन pom.xml फ़ाइल में:

<postgresql.version>9.4.1211</postgresql.version>

यह मेरे लिए भी काम करता है


PostgreSQL में सबसे LEAST() फ़ंक्शन के लिए दस्तावेज़ों का लिंक यहां दिया गया है:

LEAST





postgresql ant