Frage

Ich habe eine Reihe von postgresql-Module für Python wie pygresql gesehen, pypgsql, psyco. Die meisten von ihnen sind Python DB API 2.0 kompatibel ist, sind einige nicht mehr aktiv weiterentwickelt. Welches Modul empfehlen Sie? Warum?

War es hilfreich?

Lösung

psycopg2 scheint die beliebteste zu sein. Ich hatte nie Probleme mit ihm. Es ist eigentlich eine reine Python-Schnittstelle für PostgreSQL auch genannt bpgsql . Ich würde es über psycopg2 nicht empfehlen, aber es ist vor kurzem fähig genug, Django zu unterstützen und ist nützlich, wenn Sie nicht C Module zusammenstellen können.

Andere Tipps

Ich schlage vor, psycopg über psycopg2 seit der erste ein bisschen mehr Zobel scheint. Zumindest in meiner Erfahrung. Ich habe eine Anwendung 24/7 laufen und manchmal war ich immer zufällige Speicherabstürze (Doppel frei oder Korruption Fehler) von psycopg2. Nichts, was ich konnte Debug schnell oder leicht, da es nicht ein Python-Fehler ist, sondern ein C Fehler. Ich wechselte nur Pyscopg vorbei und ich habe nicht irgendwelche Abstürze danach.

Auch, wie gesagt in einem anderen Beitrag, bpgsql scheint eine sehr gute Alternative. Es ist stabil und einfach zu bedienen, da Sie es nicht kompilieren müssen. Die einzige schlechte Seite ist, dass Bibliothek nicht THREAD ist.

PyGreSQL scheint nett, es gibt einen direkteren Weg, um die Datenbank mit dieser Bibliothek abzufragen. Aber ich weiß nicht, wie stabil dieses allerdings ist.

Psycopg1 wird für eine bessere Leistung in heavilyy Gewinde Umgebungen (wie Web-Anwendungen) als psycopg2 bekannt, die aber nicht gehalten. Beide sind gut geschrieben und absolut solide, ich einer von diesen beiden, je nach Anwendungsfall wählen würde.

Nach meiner Erfahrung ist psycopg2 die am häufigsten verwendete Bibliothek für diesen. Wie Sie gesagt haben, es ist DB API 2.0 kompatibel, wich eine solide Schnittstelle gibt, mit zu arbeiten.

Für diejenigen, die den Standard-API finden ein wenig zu ausführlich und hart zu sein, mit zu arbeiten, habe ich eine kleine Bibliothek, die helfen kann:

https://github.com/hugollm/rebel

I verwendet nur psycopg2 und hatte keine Probleme.

Ich habe pg8000 ohne Probleme in den letzten 3 Jahren. Es ist uptodate und auf pypi und funktioniert sowohl python2 und python3. Sie können „pg8000 pip installieren“ verwenden Sie es schnell bekommen (nicht --proxy = yourproxy verwenden vergessen: Ihr_Port wenn Sie hinter einer Firewall sind).

Wenn Sie sich über die Thread-Sicherheit besorgt sind, sondern bietet auch eine Wertung für Thread-Sicherheit (siehe: http: //pybrary.net/pg8000/dbapi.html und https: // www.python.org/dev/peps/pep-0249/ für Definitionen der verschiedenen Ebenen der Thread-Sicherheit) (obwohl ich nicht noch Gewinde mit psql verwendet).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top