這是 Proboscis[1] 的第一個版本發布公告,它是基於 PQueue 的 Green Trunk
實作。 它是 Python 的 PostgreSQL 驅動程式/介面。 另一個
嗎? 嗯,可以這麼說。 Proboscis 不是基於 libpq 的,也不主要
產生 DB-API 2.0 介面(0.2 可能包含 DB-API 2.0 使用者的圖層)。
此版本的新聞項目可以在這裡找到[2]。
這個前端具有以下功能(排名不分先後):
* 純 Python
* Green Trunk 介面
* 線程安全
* Windows 支援
* 基本 SSL 支援
* 支援 COPY TO/FROM
* 協定層級預處理語句和游標 (Portals)
* 基於需求的游標活動
* 查詢和程序方法(請參閱 Green Trunk 文件)
* bytea 透明度(提示:使用參數時無需跳脫)
* Wire Tap(非同步通知)
* 自動客戶端編碼/解碼
在這裡下載[3]。
純 Python? 它一定很慢,不是嗎? 嗯,首先,有一個可選的 C
擴充模組可以在一個敏感區域提供最佳化,所以它
不一定是純 Python。 隨著 1.0 的臨近,其他敏感區域也可能會
進行最佳化。
那麼它有多慢或多快呢? 以下是一些簡單的試驗
(伺服器和客戶端位於同一台機器上)
複製,
COPY FROM 摘要,
複製的元組:50000
複製的位元組:2882981
持續時間:2.186987
平均元組大小(位元組):57.000000
平均每秒 KB:1287.159045
平均每秒元組數:22862.505244
COPY TO 摘要,
複製的元組:50000
持續時間:2.299819
平均每秒 KB:1224.009372
平均每秒元組數:21740.841414
(警告:如果沒有 C 擴充模組,COPY TO 的 TPS 將減少一半)
查詢,
INSERT 摘要,
插入的元組:1000
總時間:1.903957
平均每秒元組數:525.221976
(注意:批量 INSERT 在 0.2 版本中可能會快 ~2-3 倍)
SELECT 摘要,
循環:51
讀取的元組:1000
循環時間:0.323199
讀取元組的時間:0.322262
循環開銷:0.000937
平均每秒元組數:3103.064739
(警告:如果沒有 C 擴充模組,SELECT 將損失 1000TPS)
雖然這些速度不太可能在實務中看到,但它確實提供
一個人可以了解這個介面可以處理簡單資料的能力。
若要以最快的方式開始,請參閱快速
啟動頁面[4]的前端部分。 如需進一步的協助,請註冊並將問題發布到郵件
列表[5]。
[1] http://python.projects.postgresql.org/project/fe.html
[2] http://pgfoundry.org/forum/forum.php?forum_id=522
[3] http://pgfoundry.org/frs/?group_id=1000094&release_id=315
[4] http://python.projects.postgresql.org/quick.html
[5] http://lists.pgfoundry.org/mailman/listinfo/python-general
此文章已從 PostgreSQL 網站的先前版本遷移。 對於遷移造成的任何格式問題,我們深感抱歉。