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

अजगर + psycopg2 =अज्ञात प्रकार?

आपके अपडेट किए गए mogrify() . के आधार पर आउटपुट, आपके तार और डेटाटाइम सही ढंग से व्याख्या किए गए प्रतीत होते हैं। E'foo bar' Postgres '' "एस्केप स्ट्रिंग स्थिरांक" है। यह आपको \t . जैसे सी-स्टाइल एस्केप सीक्वेंस का प्रतिनिधित्व करने देता है टैब के लिए, पाठ में। साथ ही unknown आप psycopg2.ProgrammingError . में देखते हैं चिंता की कोई बात नहीं है, यह सामान्य व्यवहार है। आप पहले जांच सकते हैं कि आपके फ़ंक्शन कॉल में तर्कों की संख्या सही है, और शायद यह पहचानने के लिए कि कौन से परम समस्या पैदा कर रहे हैं, प्रक्रिया को हाथ से लिखे गए पैरा के साथ कॉल करने का प्रयास करें:

परीक्षण प्रक्रिया:

CREATE OR REPLACE FUNCTION
    foo (num INTEGER, name VARCHAR, ts TIMESTAMP)
RETURNS TABLE (num INTEGER, name VARCHAR, ts TIMESTAMP)
AS $$ SELECT $1, $2, $3; $$
LANGUAGE SQL;

उदाहरण:

% python
>>> import datetime
>>> import psycopg2
>>> conn = psycopg2.connect("user=postgres")
>>> r = conn.cursor()
>>> args = [1, "hello", datetime.datetime.now()]
>>> r.callproc('foo', args)
[1, 'hello', datetime.datetime(2011, 3, 10, 18, 51, 24, 904103)]

>>> r.callproc('fooxyz', args)
psycopg2.ProgrammingError: function fooxyz(integer, unknown, unknown) does not exist

LINE 1: SELECT * FROM fooxyz(1,E'hello','2011-03-10T18:51:24.904103'...
                      ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres-XL . का भविष्य

  2. PostgreSQL Upsert सिस्टम कॉलम XMIN, XMAX और अन्य का उपयोग करके सम्मिलित और अद्यतन पंक्तियों में अंतर करता है

  3. मिडलवेयर का लारवेल ऑर्डर (मिडलवेयर प्रायोरिटी)। Postgres . का उपयोग कर बहु-किरायेदार

  4. प्लापीथन में आयात विवरण कैसे नियंत्रित किए जाते हैं?

  5. PostgreSQL स्कीमा बनाएँ