Psycopg v2.4发布 Python语言的PostgreSQL数据库接口

Psycopg 是 Python 语言的 PostgreSQL 数据库接口。 它的主要优势在于完全支持Python DB API 2.0,以及安全的多线程支持。它适用于随时创建、销毁大量游标的、和产生大量并发INSERT、UPDATE操作的多线程数据库应用。Psycopg包内含 ZPsycopgDA,一个Zope数据库接口。

特性:

●对libpq v3协议的完全支持;   
●COPY TO/COPY FROM语句;   
●对所有基本Python类型的支持:字符串(支持Unicode)、整型、长整型、浮点型、缓冲区(二进制对象)、布尔型(逻辑型)、mx.DateTime和内置的日期时间型。   
●还支持Unicode查询,和Python列表型与PostgreSQL数组类型的映射。

新版本支持 Python 3.1 和 3.2 版本,实现了高效的命名游标,更好的支持 Python 和 PostgreSQL 的大对象转换;修复了不少bug。

更新日志:

Added support for Python 3.1 and 3.2. The conversion has also brought several improvements:

Added 'b' and 't' mode to large objects: write can deal with both bytes strings and unicode; read can return either bytes strings or decoded unicode.
COPY sends Unicode data to files implementing 'io.TextIOBase'.
Improved PostgreSQL-Python encodings mapping.
Added a few missing encodings: EUC_CN, EUC_JIS_2004, ISO885910, ISO885916, LATIN10, SHIFT_JIS_2004.
Dropped repeated dictionary lookups with unicode query/">parameters.

Improvements to the named cusors:

More efficient iteration on named cursors, fetching 'itersize' records at time from the backend.
The named cursors name can be an invalid identifier.

Improvements in data handling:

Added 'register_composite()' function to cast PostgreSQL composite types into Python tuples/namedtuples.
Adapt types 'bytearray' (from Python 2.6), 'memoryview' (from Python 2.7) and other objects implementing the "Revised Buffer Protocol" to 'bytea' data type.
The 'hstore' adapter can work even when the data type is not installed in the 'public' namespace.
Raise a clean exception instead of returning bad data when receiving bytea in 'hex' format and the client libpq can't parse them.
Empty lists correctly roundtrip Python -> PostgreSQL -> Python.

Other changes:

'cursor.description' is provided as named tuples if available.
The build script refuses to guess values if 'pg_config' is not found.
Connections and cursors are weakly referenceable.

Bug fixes:

Fixed adaptation of None in composite types (ticket #26). Bug report by Karsten Hilbert.
Fixed several reference leaks in less common code paths.
Fixed segfault when a large object is closed and its connection no more available.
Added missing icon to ZPsycopgDA package, not available in Zope 2.12.9 (ticket #30). Bug report and patch by Pumukel.
Fixed conversion of negative infinity (ticket #40). Bug report and patch by Marti Raudsepp.

下载地址:http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.tar.gz

时间: 2024-12-22 14:13:44

Psycopg v2.4发布 Python语言的PostgreSQL数据库接口的相关文章

Jython v2.5.2发布 Python语言在Java中的完全实现

Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现.Jython也有很多从CPython中继承的模块库.最http://www.aliyun.com/zixun/aggregation/7239.html">有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取.所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类.这使其有一个巨大的资源库. 计算

pyAggr3g470r v2.6发布 Python开发的多线程新闻聚合器

pyAggr3g470r 是一个用 Python 开发的多线程新闻聚合器,提供一个web接口和基于 SQLite 数据库. pyAggr3g470r http://www.aliyun.com/zixun/aggregation/16920.html">Release 2.6. Added new page (feed). This page is a kind of summary for each feeds. Minor improvements of the Web interfa

Selenium v2.0b3发布 Web应用程序测试工具

Selenium也是一个用于Web应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE,http://www.aliyun.com/zixun/aggregation/29851.html">Mozilla和Firefox等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求. 支持自动录制动作,和自动生成.Net.Java

《从问题到程序:用Python学编程和计算》——1.2 Python语言简介

1.2 Python语言简介 本节将首先简单介绍Python语言的一些基本情况,包括其发展和使用的情况.而后介绍Python语言系统的安装和使用方面的基本常识.1.2.1 Python语言的发展和应用 Python语言是CWI(荷兰国家数学和计算机研究中心)的程序员Guido van Rossum在1989年开始开发的一种高级编程语言,当时的主要设计目标是希望能用于方便地管理CWI的Amoeba操作系统.后来,由于其各方面的优点而逐渐流行起来. Python语言现在由Python软件基金会(Py

机器人系统设计与制作:Python语言实现2.5 用Blender制作机器人的三维模型

2.5 用Blender制作机器人的三维模型 在这一节中,我们将设计机器人的3D模型.3D模型主要用来进行三维仿真,采用Blender工具软件进行建模.Blender的版本必须要在V2.6以上,目前我们只在V2.6以上版本中测试过. Blender软件主界面上的工作空间和用于3D建模的工具栏如图2-14的屏幕截图所示. 我们选择用Blender这个工具的主要原因是,它可以用Python脚本语言进行机器人的3D建模.Blender有一个内置的Python解释器和脚本编辑器,用于代码编写.这里,我们

Instagram基于Python语言的Web Service效率提升之道

Instagram 目前部署了世界上最大规模的 Django Web 框架(该框架完全使用 Python 编写).我们最初选用 Python 是因为它久负盛名的简洁性与实用性,这非常符合我们的哲学思想--"先做简单的事情".但简洁性也会带来效率方面的折衷.Instagram 的规模在过去两年中已经翻番,并且最近已突破 5 亿用户,所以急需最大程度地提升 web 服务效率以便我们的平台能够继续顺利地扩大.在过去的一年,我们已经将效率计划efficiency program提上日程,并在过

打包发布Python模块的方法详解_python

前言 昨天把自己的VASP文件处理库进行了打包并上传到PyPI,现在可以直接通过pip和easy_install来安装VASPy啦(同时欢迎使用VASP做计算化学的童鞋们加星和参与进来), VASPy的GotHub地址:https://github.com/PytLab/VASPy VASPy的PyPI地址:https://pypi.python.org/pypi/vaspy/ 由于自己的记性真是不咋地,怕时间久了就忘了,于是在这里趁热打铁以自己的VASPy程序为例对python的打包和上传进行

Linux集群和自动化维3.1 Python语言的应用领域

第3章 轻量级自动化运维工具Fabric详解 近期公司的业务系统代码发布频繁,笔者同时在几个项目组里面穿插工作,发现发布和运维的工作都相当机械,加上频率比较高,导致时间的浪费也比较多.很多测试工作,例如通过SSH登录到测试环境,推送代码,然后修改Bug进行测试,这些操作都是非常机械并且具有重复性的.更让人郁闷的是,每次的操作都是相同的,命令基本上都是一样的,并且是在多台机器上执行,很难在本机上以一个脚本来搞定,主要时间都浪费在使用SSH登录和输入命令上了.这个时候需要一个轻量级的自动化运维工具,

《教孩子学编程(Python语言版)》——第1章 Python 基础—认识环境 1.1 认识Python

第1章 Python 基础-认识环境 如今,几乎任何东西之中都有一个计算机,例如电话.汽车.手表.电子游戏机.跑步机.贺卡或者机器人.计算机编程或编码,就是要告诉计算机如何执行一项任务,因此,理解如何编写代码,可以将计算机的能力控制在你的指间. 计算机程序,也叫作应用程序(applications或App),它告诉计算机做什么.Web App可以告诉计算机如何记录你喜欢的音乐:游戏App告诉计算机如何用逼真的图像显示一个古代的战场:一个简单的App可以让计算机绘制出如图1-1所示的类似六边形的.