psycopg es un adaptador de base de datos PostgreSQL para el lenguaje de programación Python. Sus principales ventajas son que apoya la plena Python DBAPI 2.0 y es seguro en el nivel 2 hilo.
psycopg fue diseñado para aplicaciones en gran medida multi-hilo que crean y destruyen un montón de cursores y hacen un número notable de inserciones o actualizaciones concurrentes.
La distribución psycopg incluye ZPsycopgDA, un adaptador de base de datos de Zope. Esta página es sobre psycopg 2, una reescritura casi completa de la rama 1.1.x psycopg.
Psycopg 2 características completa COPIA protocolo v3 libpq A / COPY FROM y la adaptación objeto completo para todos los tipos básicos de Python 2.3: cuerdas (incluyendo Unicode), enteros, anhela, flotadores, tampones (objetos binarios), booleanos, mx.DateTime y tipos de fecha y hora builtin .
También es compatible con Unicode consultas y listas de Python mapeados a matrices PostgreSQL
¿Qué es la nueva en esta versión:.
- Las características de este lanzamiento un analizador bytea para asegurarse psycopg trabajará con datos binarios independientemente de libpq y versiones de PostgreSQL; soporte para la codificación de caracteres no normalizados; una solución para consultas vacías; y una mejor presentación de informes de error.
¿Qué hay de nuevo en la versión 2.4 Beta 1:
- Las nuevas características y cambios
- register_composite Añadido () para PostgreSQL arrojó tipos compuestos en Python tuplas / namedtuples.
- iteración más eficiente en los cursores con nombre.
- El script se niega a adivinar los valores si no se encuentra pg_config.
- Conexiones y cursores son débilmente referenciable.
- Agregado 'b' y el modo 't' para objetos grandes: escribir puede hacer frente a las dos cadenas y bytes Unicode; lectura puede devolver cualquiera bytes cadenas o Unicode decodificado.
- COPIA envía datos Unicode a los archivos de aplicación io.TextIOBase.
- El script se niega a adivinar los valores si no se encuentra pg_config.
- Mejora de PostgreSQL-Python codificaciones mapeo. Añadido unos codificaciones que faltan: EUC_CN, EUC_JIS_2004, ISO885910, ISO885916, LATIN10, SHIFT_JIS_2004 .
- Caído búsquedas Diccionario repetidos con la consulta Unicode / parámetros.
- listas vacías Python correctamente ida y vuelta - & gt; PostgreSQL - & gt; Python.
- Corrección de errores:
- adaptación fijo de Ninguno en tipos compuestos (ticket # 26). Informe de error de Karsten Hilbert.
- Fijos varias fugas de referencia en las rutas de código menos comunes.
- segfault fijo cuando un objeto grande se cierra y su conexión no más disponible.
- Añadido icono que falta para paquete ZPsycopgDA, no disponible en Zope 2.12.9 (ticket # 30). Informe de error y el parche por Pumukel.
¿Cuál es nuevo en la versión 2.3.2:
- versión corrige un bug reportado en 2.3.0 y 2.3.1 prevenir psycopg para conectarse a pgBouncer
¿Qué hay de nuevo en la versión 2.3.0:
- Esta versión introduce muchas nuevas características como el soporte para la confirmación en dos fases y el aviso paylod, un hstore a / de adaptador dict, y la cancelación de la consulta.
- También cae soporte para el protocolo libpq 2, lo que significa que psycopg ahora sólo funciona con PostgreSQL 7.4 o superior en Python 2,4-2,7.
¿Qué hay de nuevo en la versión 2.3.0 Beta 1:
- Esta versión introduce muchas nuevas características relacionadas con PostgreSQL 9.0.
- psycopg ahora soporta en dos fases (TCP) como se especifica en el PEP-249, NOTIFICAR cargas útiles, y el nuevo tipo hstore.
¿Qué hay de nuevo en la versión 2.2.2:
- Esta versión corrige algunos errores relacionados con la propagación de excepción y mejora el soporte para zonas horarias.
¿Cuál es nuevo en la versión 2.0.13:
- Esta versión corrige un punto muerto en relación con el uso de la misma conexión desde varios subprocesos.
- También introduce soporte para arrays UUID.
¿Cuál es nuevo en la versión 2.0.9:
- Esta versión incluye un mejor soporte para COPIA DE / COPY con separadores cotizados y el tamaño de consulta ilimitada, mejor manejo de valores flotantes Inf y Nan, y el apoyo a UUID y Inet PostgreSQL.
- executemany () ahora devuelve el número correcto de filas afectadas por múltiples sentencias INSERT y UPDATE.
¿Cuál es nuevo en la versión 2.0.8:.
- Algunas pérdidas de memoria de menor importancia fueron fijadas
- Esta versión también añade un nuevo método get_backend_pid () en el objeto de conexión y proporciona soporte para objetos grandes.
Comentarios que no se encuentran