문제

나는 pygresql, pypgsql, psyco와 같은 Python에 대한 많은 PostgreSQL 모듈을 보았습니다. 그들 대부분은 Python DB API 2.0을 준수하며 일부는 더 이상 활발하게 개발되지 않습니다. 어떤 모듈을 권장합니까? 왜요?

도움이 되었습니까?

해결책

psycopg2가 가장 인기있는 것 같습니다. 나는 그것에 문제가 없었습니다. 실제로 PostgreSQL에 대한 순수한 Python 인터페이스가 있습니다. BPGSQL. 나는 psycopg2보다 권장하지 않지만 최근에는 django를 지원할 수있을 정도로 능력이 있으며 C 모듈을 컴파일 할 수없는 경우 유용합니다.

다른 팁

나는 첫 번째 것이 조금 더 세련되기 때문에 psycopg2에 대한 psycopg를 제안한다. 적어도 내 경험에. 24/7을 실행하는 응용 프로그램이 있으며 때로는 PSYCOPG2에서 임의의 메모리 충돌 (이중 자유 또는 손상 오류)을 얻었습니다. 파이썬 오류가 아니라 C 오류이기 때문에 빨리 또는 쉽게 디버그 할 수있는 것은 없습니다. 방금 Pyscopg로 전환했는데 그 후에 충돌이 발생하지 않았습니다.

또한 다른 게시물에서 말했듯이 BPGSQL 아주 좋은 대안 인 것 같습니다. 컴파일 할 필요가 없기 때문에 안정적이고 사용하기 쉽습니다. 유일한 나쁜면은 라이브러리가 threadSafe가 아니라는 것입니다.

pygresql은 멋지게 보이며이 라이브러리로 데이터베이스를 쿼리하는보다 직접적인 방법이 있습니다. 그러나 나는 이것이 얼마나 안정적인지 모른다.

PSYCOPG1은 유지 관리되지는 않았지만 PSYCOPG2보다 무거운 실이있는 환경 (웹 응용 프로그램과 같은)에서 더 나은 성능으로 유명합니다. 둘 다 잘 쓰여지고 견고합니다. 사용 사례에 따라이 두 가지 중 하나를 선택합니다.

내 경험에 따르면, psycopg2는 이것에 가장 많이 사용되는 라이브러리입니다. 당신이 말했듯이, 그것은 DB API 2.0을 준수하고, Wich는 함께 일할 수있는 견고한 인터페이스를 제공합니다.

표준 API가 너무 장황하고 함께 일하기 어려운 사람들을 찾는 사람들에게는 도움이 될 수있는 작은 라이브러리를 만들었습니다.

https://github.com/hugollm/rebel

나는 psycopg2 만 사용하고 그에 아무런 문제가 없었습니다.

지난 3 년 동안 문제없이 PG8000을 사용했습니다. Uptodate이며 PYPI에서 사용할 수 있으며 Python2 및 Python3에서 작동합니다. "PIP 설치 PG8000"을 사용하여 신속하게 얻을 수 있습니다 (파이어 월 뒤에있는 경우 -proxy = yourproxy : yourport를 사용하는 것을 잊지 마십시오).

스레드 안전에 대해 걱정이되면 스레드 안전에 대한 점수도 제공합니다 (참조 : 참조 : http://pybrary.net/pg8000/dbapi.html 그리고 https://www.python.org/dev/peps/pep-0249/ 다른 수준의 스레드 안전성의 정의의 경우) (PSQL과 함께 아직 사용 된 스레드는 없지만).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top