psycopg2cffi (Diperbarui 2015)
psycopg2cffi adalah pengganti lain yang kompatibel dengan psycopg2 dan harus memberikan kinerja PostgreSQL terbaik dengan PyPy. Tambahkan ini ke Anda settings.py
agar tetap kompatibel dengan keduanya:
try:
import psycopg2
except ImportError:
from psycopg2cffi import compat
compat.register()
psycopg2-ctypes (2012)
Saya juga tahu bahwa beberapa orang menggunakan psycopg2-ctypes.
Ini cara termudah; agar tetap kompatibel dengan keduanya, cukup tambahkan kode ini di Django Anda settings.py
:
try:
import psycopg2
except ImportError:
from psycopg2ct import compat
compat.register()
Saya menguji ini beberapa rilis yang lalu; sayangnya dalam pengalaman saya, psycopg2-ctypes meniadakan peningkatan kinerja kecil yang diberikan oleh PyPy. Tapi YMMV, itu tergantung pada seberapa ramah JIT kode Anda secara umum dan berapa banyak waktu yang Anda habiskan untuk menjalankan kode Python. Dan mungkin PyPy baru saja berkembang sejak saat itu.
dan menurut saya psycopg2-ctypes belum siap untuk Windows
Saya belum mencoba ini, tetapi ctypes tidak bergantung pada platform. AFAICT Anda hanya perlu memastikan bahwa libpq.dll
pustaka dapat dimuat (terletak di direktori di variabel lingkungan PATH atau direktori lokal Anda) dan itu harus bekerja di Windows seperti di Linux.
pypy-postgresql
Saya melihat bahwa Alex Gaynor telah membuat garpu PyPy yang disebut pypy-postgresql.
Saya rasa ini bukan pilihan yang baik dalam jangka panjang. Cabang tersebut belum diperbarui selama lebih dari satu tahun dan upaya saya untuk membangunnya gagal. Dan tampaknya salah untuk membuat kode keras driver PostgreSQL di interpreter.
Saya percaya tidak ada binari di luar sana dari pypy-postgresql, jadi jika Anda ingin menggunakannya, Anda perlu membangun seluruh cabang PyPy sendiri. Bukan untuk menjadi lemah hati: dibutuhkan puluhan menit dan mesin dengan memori minimal 4 GB. (Instruksi resmi: http://pypy.org/download.html#building-from-source )
Untuk membangun, Anda membutuhkan sumbernya terlebih dahulu. Jika Anda menginstal Mercurial, Anda dapat melakukannya dengan mudah hg clone https://bitbucket.org/alex_gaynor/pypy-postgresql
. Jika tidak, Anda dapat mengunduh file zip "tip" automagic: https://bitbucket.org/alex_gaynor/pypy-postgresql/get/tip.zip
Buka baris perintah, masuk ke direktori yang didekompresi, lalu masuk ke dalam pypy/translator/goal
Jika Anda menginstal PyPy, disarankan untuk menggunakannya untuk membangun:
pypy translate.py -Ojit
Jika tidak:
python translate.py -Ojit
Sayangnya di sinilah pengetahuan saya berakhir. Saya mendapatkan kesalahan " BytecodeCorruption: unimplemented opcode, ofs=234, code=203, name=BUILD_LIST_FROM_ARG
"