Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 10, 2009 17:41:27

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Модули для работы с PostgreSQL

Сейчас проектирую клиент-серверное приложение.
На сервере для хранения данных будет использоваться 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 написан на чистом Питоне без использования сторонних библиотек, нэйтивно поддерживает мультипоточность. Хорошая актуальная документация тоже в его пользу.

Что скажете, коллеги?



Офлайн

#2 Апрель 10, 2009 20:54:25

clopomor
От:
Зарегистрирован: 2007-06-12
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Модули для работы с PostgreSQL

іще забули pysycopg2 http://www.t2-project.org/packages/psycopg2.html



Офлайн

#3 Апрель 10, 2009 23:14:02

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Модули для работы с PostgreSQL

Я много работал с постгри и перепробовал разного… Серебрянной пути, как всегда нет. Но мой выбор пал на psycopg2. ИМХО лучший.
Что касается тестов скорости, то самый быстрый был psycopg-1… Но сами понимаете, что о нём думать не стоит. Уж лучше на PL/SQL написать… :-)



Офлайн

#4 Апрель 10, 2009 23:46:15

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Модули для работы с PostgreSQL

pysycopg1.1 я рассматривал, но убрал из претендентов как слишком старый и заброшенный проект.
А вот pysycopg2 что-то пропустил.
Спасибо.



Офлайн

#5 Апрель 11, 2009 10:08:09

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Модули для работы с PostgreSQL

+1 на psycopg2



Офлайн

#6 Апрель 11, 2009 15:51:14

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Модули для работы с PostgreSQL

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

Добавленно:
Второй победил из-за скорости. Я организовал довольно специфичные тесты “под проект” и отрыв был больше, чем в два раза…



Отредактировано (Апрель 11, 2009 15:56:49)

Офлайн

#7 Апрель 11, 2009 20:52:59

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Модули для работы с PostgreSQL

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

Добавленно:
Второй победил из-за скорости. Я организовал довольно специфичные тесты “под проект” и отрыв был больше, чем в два раза…
А чего “не громко”? +1 – это то что мы его используем. Если нужно DB API2 для pg-базы, то psycopg2 очень даже. Если нужны более низкоуровневые вещи – то pygresql. Есть еще более низкие (по крайней мере на pypi проскакивали). Я пользуюсь db api2, sqlalchemy, в этом плане psycopg2 меня (почти) устраивает



Офлайн

#8 Янв. 19, 2010 18:30:24

yusi4ka
От:
Зарегистрирован: 2010-01-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Модули для работы с PostgreSQL

А какой модуль можете посоветовать для 3-го питона? В интернете нашла только py-postgresql



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version