Articles of psycopg2

Sqlalchemy: la subconsulta en FROM debe tener un alias

¿Cómo puedo estructurar esta consulta sqlalchemy para que haga lo correcto? He dado todo lo que puedo pensar en un alias, pero todavía estoy recibiendo: ProgrammingError: (psycopg2.ProgrammingError) subquery in FROM must have an alias LINE 4: FROM (SELECT foo.id AS foo_id, foo.version AS … Además, como señaló IMSoP, parece estar intentando convertirlo en una combinación […]

Al abrir una conexión postgres en psycopg2, Python se bloquea

Recibo el siguiente mensaje de error cuando bash abrir una conexión a una base de datos de Postgres. Quizás esté relacionado con OpenSSL, pero no puedo entender el mensaje de error. ¿Alguien puede ayudar? >>> import psycopg2 >>> conn = psycopg2.connect(host = ”, port = , dbname = ”, user = ”, password = ”) […]

copie los datos de la base de datos MSSQL a la base de datos Postgresql con Python

Tengo dos 2 bases de datos. Uno con MSSQL y otro con Postgresql. Quiero que mi script de Python se ejecute (para esto uso un cron-job en linux), todos los días. Los datos de la base de datos MSSQL deben copiarse a la base de datos Postgresql. Tengo una idea pero no funciona. ¿¿¿Usted me […]

Asegurándose de que la conexión de base de datos psycopg2 viva

Tengo una aplicación de python que abre una conexión de base de datos que puede colgarse en línea durante una hora, pero a veces el servidor de la base de datos se reinicia y, aunque Python todavía tiene la conexión, no funcionará con OperationalError excepción OperationalError . Así que estoy buscando cualquier método confiable para […]

Conectar a un URI en postgres

Supongo que esta es una pregunta bastante básica, pero no puedo entender por qué: import psycopg2 psycopg2.connect(“postgresql://postgres:postgres@localhost/postgres”) Está dando el siguiente error: psycopg2.OperationalError: missing “=” after “postgresql://postgres:postgres@localhost/postgres” in connection info string ¿Alguna idea? De acuerdo con los documentos sobre cadenas de conexión , creo que debería funcionar, sin embargo, solo funciona así: psycopg2.connect(“host=localhost user=postgres password=postgres […]

Cómo tener una estructura de datos con características tanto de tupla como de diccionario.

Haciendo referencia al código en http://initd.org/psycopg/docs/extras.html#dictionary-like-cursor >>> rec[‘data’] “abc’def” >>> rec[2] “abc’def” Me preguntaba cómo se las arreglan para crear una estructura de datos que tenga características tanto de tupla como de diccionario.

¿Cómo burlarse de objetos de cursor psycopg2?

Tengo este segmento de código en Python2: def super_cool_method(): con = psycopg2.connect(**connection_stuff) cur = con.cursor(cursor_factory=DictCursor) cur.execute(“Super duper SQL query”) rows = cur.fetchall() for row in rows: # do some data manipulation on row return rows que me gustaría escribir algunas pruebas de unidad para. Me pregunto cómo usar mock.patch para parchear el cursor y las […]

Generar sentencias SQL con python

Necesito generar una lista de instrucciones de inserción (para postgresql) a partir de archivos html. ¿Hay una biblioteca disponible para Python que me ayude a escapar y citar los nombres / valores? en PHP utilizo PDO para escapar y citar, ¿hay alguna biblioteca equivalente para python? Edición: necesito generar un archivo con sentencias SQL para […]

psycopg2 executemany con lista simple?

Estoy tratando de usar psycopg2 executemany para una inserción múltiple múltiple, pero solo puedo hacer que funcione usando dict y no una secuencia de valores “simple”: # given: values = [1, 2, 3] ; cursor = conn.cursor() # this raises TypeError: ‘int’ object does not support indexing: cursor.executemany(‘INSERT INTO t (col_a) VALUES ( %s )’, […]

Python / psycopg2 WHERE IN sentencia

¿Cuál es el método correcto para que la lista (countryList) esté disponible a través de% s en la statement SQL? # using psycopg2 countryList=[‘UK’,’France’] sql=’SELECT * from countries WHERE country IN (%s)’ data=[countryList] cur.execute(sql,data) Tal como está ahora, se produce un error después de intentar ejecutar “WHERE country in (ARRAY […])”. ¿Hay alguna forma de […]