سؤال

لقد رأيت عددا من كيو وحدات بيثون مثل pygresql, pypgsql ، psyco.معظمهم من بيثون DB API 2.0 متوافقة مع بعض لم يتم تطويرها بعد.والتي وحدة تنصحون ؟ لماذا ؟

هل كانت مفيدة؟

المحلول

psycopg2 يبدو أن تكون الأكثر شعبية.لم يكن لدي أي مشكلة مع ذلك.هناك في الواقع محض الثعبان واجهة كيو جدا ، ودعا bpgsql.أنا لا أنصح بذلك على psycopg2, لكنه في الآونة الأخيرة أصبحت قادرة بما فيه الكفاية لدعم جانغو و مفيد إذا كنت لا يمكن ترجمة ج الوحدات.

نصائح أخرى

أقترح Psycopg على Psycopg2 منذ الأول يبدو أكثر قليلا من السمور.على الأقل في تجربتي.لدي تطبيق تشغيل 24/7 و في بعض الأحيان كنت الحصول على ذاكرة عشوائية تعطل (مزدوجة مجانا أو الفساد أخطاء) من Psycopg2.لا شيء يمكن أن يكون التصحيح بسرعة أو بسهولة لأنه ليس الثعبان خطأ ولكن ج الخطأ.أنا فقط تحول إلى Pyscopg وأنا لم تحصل أي حوادث بعد ذلك.

كما قال في وظيفة أخرى ، bpgsql يبدو بديل جيد جدا.انها مستقرة وسهلة الاستخدام منذ كنت لا تحتاج إلى ترجمة عليه.إلا الجانب السيئ هو أن المكتبة ليست threadsafe.

Pygresql يبدو لطيفا, هناك وسيلة أكثر مباشرة الاستعلام عن قاعدة البيانات مع هذه المكتبة.ولكن أنا لا أعرف كيف مستقر هذا هو واحد على الرغم من.

Psycopg1 هو معروف للحصول على أداء أفضل في heavilyy الخيوط البيئات (مثل تطبيقات الويب) من Psycopg2 ، على الرغم من عدم الحفاظ عليها.وكلاهما مكتوب بشكل جيد و الصخور الصلبة, كنت اختيار واحد من هذين اعتمادا على حالة الاستخدام.

في تجربتي ، psycopg2 هو الأكثر استخداما المكتبة من أجل هذا.كما قلت انها DB API 2.0 متوافق, اللي تبونه يعطي الصلبة واجهة للعمل مع.

بالنسبة لأولئك الذين يجدون القياسية API قليلا مطول جدا و من الصعب العمل مع صنعت مكتبة صغيرة التي قد تساعد:

https://github.com/hugollm/rebel

لا يستخدم فقط psycopg2 وليس لديه مشاكل مع هذا.

لقد استعملت pg8000 دون أي مشاكل في الماضي 3 سنوات.انها محدثة متاحة على pypi ويعمل على كل python2 و python3.يمكنك استخدام "نقطة تثبيت pg8000" بسرعة الحصول عليها (لا تنسى أن استخدام --الوكيل=yourproxy:yourport إذا كنت خلف جدار حماية).

إذا كنت قلقا حول موضوع السلامة, كما يوفر درجة على موضوع السلامة (انظر: http://pybrary.net/pg8000/dbapi.html و https://www.python.org/dev/peps/pep-0249/ عن تعريفات مستويات مختلفة من موضوع السلامة) (على الرغم من أنني لم تستخدم بعد المواضيع مع psql).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top