Найти - Пользователи
Полная версия: Модули для работы с PostgreSQL
Начало » Базы данных » Модули для работы с PostgreSQL
1
Lexander
Сейчас проектирую клиент-серверное приложение.
На сервере для хранения данных будет использоваться PostgreSQL. Серверная часть - Питон.
Посоветуйте, пожалуйста, какую лучше библиотеку (модуль) для доступа к PostgreSQL использовать:
PyGreSQL: 4.0 (01.01.2009) - проект устоявшийся и живет
pypgsql: 2.5.1 (07.06.2006) - проект вроде бы зачах
ocpgdb: 1.0.2 (05.08.2008) - проект относительно новый, мало информации, относительно давно обновлялся
pg8000: 1.07 (06.01.2009) - странно, что стартанули такой проект при наличии PyGreSQL. Но проект бурно развивается и даже паралельно делают ветку под Питон 3. Документация хорошая.
… ваше предложение …

Версии:
Python 2.6
PostgreSQL 8.3.7

Критерии: Python DB-API 2, высокая скорость, надежность (слишком сырой модуль использовать не хочу) работы, приличная документация.

Склоняюсь к PyGreSQL или pg8000.

PyGreSQL - старый проект, основан на предке 95 года выпуска и содержит много старого кода, который нужно поддерживать и делает сам модуль более тяжеловесным. Немного пугает наличием поддержки 2 интерфейсов, один из которых устарел, но по нему есть дока. По интерфейсу DB-API 2 доки нет. Впрочем, тут можно использовать и спецификацию, хоть и не так удобно. Немультипоточный, но можно использовать DBUtils.

pg8000 написан на чистом Питоне без использования сторонних библиотек, нэйтивно поддерживает мультипоточность. Хорошая актуальная документация тоже в его пользу.

Что скажете, коллеги?
clopomor
іще забули pysycopg2 http://www.t2-project.org/packages/psycopg2.html
ZZZ
Я много работал с постгри и перепробовал разного… Серебрянной пути, как всегда нет. Но мой выбор пал на psycopg2. ИМХО лучший.
Что касается тестов скорости, то самый быстрый был psycopg-1… Но сами понимаете, что о нём думать не стоит. Уж лучше на PL/SQL написать… :-)
Lexander
pysycopg1.1 я рассматривал, но убрал из претендентов как слишком старый и заброшенный проект.
А вот pysycopg2 что-то пропустил.
Спасибо.
j2a
+1 на psycopg2
ZZZ
j2a
+1 на psycopg2
Ну… Не так громко.
Минусов у него не много, но выбирать, всё-таки, рекомендую “под себя”. Сейчас уже не вспомню, но помню, что серьёзно колебался между PyGreSQL и psycopg2. Что-то такое было в первом, что было удобно, но отсутствовало во втором… Правда не помню.

Добавленно:
Второй победил из-за скорости. Я организовал довольно специфичные тесты “под проект” и отрыв был больше, чем в два раза…
j2a
ZZZ
j2a
+1 на psycopg2
Ну… Не так громко.
Минусов у него не много, но выбирать, всё-таки, рекомендую “под себя”. Сейчас уже не вспомню, но помню, что серьёзно колебался между PyGreSQL и psycopg2. Что-то такое было в первом, что было удобно, но отсутствовало во втором… Правда не помню.

Добавленно:
Второй победил из-за скорости. Я организовал довольно специфичные тесты “под проект” и отрыв был больше, чем в два раза…
А чего “не громко”? +1 – это то что мы его используем. Если нужно DB API2 для pg-базы, то psycopg2 очень даже. Если нужны более низкоуровневые вещи – то pygresql. Есть еще более низкие (по крайней мере на pypi проскакивали). Я пользуюсь db api2, sqlalchemy, в этом плане psycopg2 меня (почти) устраивает
yusi4ka
А какой модуль можете посоветовать для 3-го питона? В интернете нашла только py-postgresql
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB