не может объявить имя для курсора (psycopg2) - PullRequest
0 голосов
/ 09 июля 2020

У меня есть несколько таблиц с огромными данными, поэтому я пытаюсь установить имя курсора, чтобы сделать его серверным. Но я столкнулся с некоторыми ошибками, как показано ниже:

con = psycopg2.connect(database='xxx', user='xxx',
                password='xxx')


with con:

   cur = con.cursor(name= 'mycursor')
   cur.execute("set search_path to xxx")#I need this step because I created a schema in my db
   cur.execute("SELECT * FROM admissions")

   ad = cur.fetchall()

Я получил сообщение об ошибке:

3     cur = con.cursor(name= 'mycursor')

----> 4     cur.execute("set search_path to mimiciii")
      5     cur.execute("SELECT * FROM admissions")
      6 

ProgrammingError: syntax error at or near "set"
LINE 1: DECLARE "mycursor" CURSOR WITHOUT HOLD FOR set search_path t...

Другое дело, даже если я удалю выполнение search_path, оно все равно дает ошибка как:

 4 #     cur.execute("set search_path to mimiciii")
----> 5     cur.execute("SELECT * FROM admissions")
      6 
      7     ad = cur.fetchall()

ProgrammingError: relation "admissions" does not exist
LINE 1: ... "mycursor" CURSOR WITHOUT HOLD FOR SELECT * FROM admissions
...