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

पोस्टग्रेज प्रकार {फ़ील्ड प्रकार} केवल एक शेल है

संक्षेप में, आपको पोस्टगिस को फिर से स्थापित करने की आवश्यकता है, संभवतः केवल drop extension postgis; और create extension postgis;

लंबी व्याख्या

आप संभवतः इस प्रकार को याद कर रहे होंगे, लेकिन मुझे संदेह है कि यह वही है, यदि आप कोशिश करना चाहते हैं, तो यहां 2.3 से है:

CREATE TYPE public.geometry
   (INPUT=geometry_in,
       OUTPUT=geometry_out,
       RECEIVE=geometry_recv,
       SEND=geometry_send,
       TYPMOD_IN=geometry_typmod_in,
       TYPMOD_OUT=geometry_typmod_out,
       ANALYZE=geometry_analyze,
       CATEGORY='U', DEFAULT='',
       INTERNALLENGTH=-1, ALIGNMENT=double, STORAGE=MAIN);
ALTER TYPE public.geometry
  OWNER TO postgres;
COMMENT ON TYPE public.geometry
  IS 'postgis type: Planar spatial data type.';

किस शेल के लिए, आप उनके बारे में documentation

संक्षेप में :कुछ प्रकारों को ऐसे कार्यों की आवश्यकता होती है जिनके बदले में उस प्रकार की आवश्यकता होती है जिसे घोषित किया जाना है, इसलिए न तो बनाया जा सकता है - सामान्य रूप से।

उस समस्या को हल करने के लिए, Postgres शेल प्रकार बनाएगा जो सत्यापन को संतुष्ट करने के लिए बहुत अधिक प्लेसहोल्डर हैं।

आपके मामले में geometry शेल प्रकार है और ठीक से घोषित नहीं किया गया था, जिसका अर्थ है कि पोस्टगिस सही तरीके से स्थापित नहीं किया गया था।

शैल प्रकार इस तरह दिखता है:

CREATE TYPE public.geometry
   (INPUT=shell_in,
       OUTPUT=shell_out,
       RECEIVE=-,
       SEND=-,
       ANALYZE=-,
       CATEGORY='P',
    PASSEDBYVALUE, DEFAULT='',
       INTERNALLENGTH=4, ALIGNMENT=int4, STORAGE=PLAIN);
ALTER TYPE public.geometry
  OWNER TO postgres;

और शेल प्रकार की आवश्यकता वाले कार्य हो सकते हैं:

CREATE OR REPLACE FUNCTION geometry_in(cstring)
    RETURNS geometry
    AS '$libdir/postgis-2.3','LWGEOM_in'
    LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE;

यदि आप उचित geometry पर पीछे मुड़कर देखें तो परिभाषा आप देखेंगे कि यह फ़ंक्शन इसका हिस्सा है, लेकिन इस शेल में नहीं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दूसरे डेटाबेस से डेटा खींचने का कुशल तरीका?

  2. प्रत्येक कथन के लिए ट्रिगर उदाहरण

  3. SQL NOT IN इतना धीमा क्यों है?

  4. NOT IN . का उपयोग करते समय PostgreSQL क्वेरी धीमी होती है

  5. एसक्यूएल में प्राथमिकताओं को कैसे कार्यान्वित करें (पोस्टग्रेज)