PyGreSQL против psycopg2

В чем разница между этими двумя API? Какой из них быстрее и надежнее с использованием Python DB API?

Upd: Я вижу два драйвера psql для Django. Первый - psycopg2. Какая вторая? pygresql?

Второй драйвер PostgreSQL Django называется postgresql, но на самом деле это psychopg1, поэтому ваш выбор в Django находится между версией 1 и версией 2 psychopg.

stw_dev 22.01.2011 11:28
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
13
1
13 670
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Как бы то ни было, django использует psycopg2.

В Django есть два драйвера psql, самый популярный - psycopg2, но как насчет второго? Это драйвер pygresql?

maxp 06.01.2009 08:03

psycopg2 частично написан на C, поэтому вы можете ожидать увеличения производительности, но, с другой стороны, его немного сложнее установить. PyGreSQL написан только на Python, его легко развернуть, но он работает медленнее.

Лицензирование может быть проблемой для вас. PyGreSQL - это лицензия MIT. Psycopg2 - это лицензия GPL.

(до тех пор, пока вы получаете доступ к psycopg2 обычными способами из Python, без внутреннего API и без прямых вызовов C, это не должно вызывать у вас никаких головных болей, и вы можете выпустить свой код под любой лицензией, которая вам нравится, но я не юрист).

psycopg2 под лицензией LGPL, а не GPL.

Nick Zalutskiy 17.02.2012 23:27

«PyGreSQL написан только на Python, его легко развернуть, но он работает медленнее».

PyGreSQL также содержит модуль с кодом C. Я не проводил тестов скорости, но они вряд ли будут сильно отличаться, так как настоящая работа будет происходить внутри сервера базы данных.

Вы не можете запустить "pygresql", не установив на компьютере другие библиотеки postgres (например, pg_config), поэтому это не "чистый Python".

Joseph Lust 14.06.2016 22:04

В Psycopg2 не так много документации, но код в каталоге примеров очень полезен. Также это уровень безопасности потоков 2, то есть несколько потоков могут совместно использовать модуль и соединения, но не курсоры. питон dbi pep

Другие вопросы по теме