psycopg2cffi (2015 की अपडेटेड)
psycopg2cffi अभी तक एक और psycopg2- संगत रिप्लेसमेंट है और इसे PPy के साथ सबसे अच्छा PostgreSQL प्रदर्शन प्रदान करना चाहिए। इसे अपने settings.py
दोनों के साथ संगत रहने के लिए जोड़ें :
try:
import psycopg2
except ImportError:
# Fall back to psycopg2cffi
from psycopg2cffi import compat
compat.register()
psycopg2-ctypes (2012)
मुझे यह भी पता है कि कुछ लोग psycopg2-ctypes का उपयोग कर रहे हैं।
यह सबसे आसान तरीका है; दोनों के साथ संगत रहने के लिए, इस कोड को अपने Django में जोड़ें settings.py
:
try:
import psycopg2
except ImportError:
# Fall back to psycopg2-ctypes
from psycopg2ct import compat
compat.register()
मैंने कुछ रिलीज पहले इसका परीक्षण किया था; दुख की बात है कि मेरे अनुभव में, psycopg2-ctypes PyPy द्वारा वहन किए गए छोटे प्रदर्शन लाभ को नकार देता है। लेकिन YMMV, यह इस बात पर निर्भर करता है कि सामान्य रूप से आपका कोड JIT के अनुकूल कैसे है और आप वास्तव में पायथन कोड को चलाने में किस समय खर्च करते हैं। और शायद तब से PyPy में सुधार हुआ है।
और मुझे नहीं लगता कि psycopg2-ctypes अभी तक विंडोज के लिए तैयार है
मैंने यह कोशिश नहीं की है, लेकिन ctypes प्लेटफ़ॉर्म-स्वतंत्र है। AFAICT आपको बस यह सुनिश्चित करना है कि libpq.dll
पुस्तकालय लोड करने योग्य है (आपके PATH पर्यावरण चर या स्थानीय निर्देशिका में एक निर्देशिका में स्थित है) और यह लिनक्स की तरह विंडोज पर काम करना चाहिए।
PyPy-PostgreSQL
मैं देख रहा हूँ कि एलेक्स गेन्नोर ने पाइपी-पोस्टग्रेसल नामक पाइपी का एक कांटा बनाया है।
मुझे नहीं लगता कि लंबी अवधि में यह एक अच्छा विकल्प है। शाखा को एक वर्ष से अधिक समय से अद्यतन नहीं किया गया है और इसे बनाने के मेरे प्रयास विफल रहे हैं। और वैसे भी दुभाषिया में PostgreSQL ड्राइवर को हार्ड-कोड करना गलत लगता है।
मेरा मानना है कि पीपे-पोस्टग्रैसक्ल के कोई बायनेरिज़ नहीं हैं, इसलिए यदि आप इसका उपयोग करना चाहते हैं, तो आपको पूरी पपी शाखा का निर्माण करना होगा। दिल के बेहोश होने के लिए नहीं: इसमें दस मिनट लगते हैं और कम से कम 4 जीबी मेमोरी वाली मशीन होती है। (आधिकारिक निर्देश: http://pypy.org/download.html#building-from-source )
बनाने के लिए, आपको सबसे पहले स्रोत की आवश्यकता है। यदि आपके पास मर्क्यूरियल स्थापित है, तो आप बस कर सकते हैं hg clone https://bitbucket.org/alex_gaynor/pypy-postgresql
। यदि नहीं, तो आप स्वचालित "टिप" ज़िप फ़ाइल डाउनलोड कर सकते हैं: https://bitbucket.org/alex_gaynor/pypy-postgresql/get/tip.zip
एक कमांड लाइन खोलें, विघटित निर्देशिका में जाएं, और फिर अंदर pypy/translator/goal
यदि आपने PyPy स्थापित किया है, तो इसका उपयोग करने की अनुशंसा की जाती है:
pypy translate.py -Ojit
अन्यथा:
python translate.py -Ojit
दुख की बात यह है कि जहां मेरा ज्ञान समाप्त होता है। मुझे त्रुटि मिली " BytecodeCorruption: unimplemented opcode, ofs=234, code=203, name=BUILD_LIST_FROM_ARG
"