PL/Python은 Python 2 및 Python 3 언어 변형을 모두 지원합니다. (PostgreSQL 설치 지침에는 지원되는 Python의 정확한 부 버전에 대한 더 정확한 정보가 포함될 수 있습니다.) Python 2 및 Python 3 언어 변형은 일부 중요한 측면에서 호환되지 않으므로 PL/Python에서는 혼합을 방지하기 위해 다음 이름 지정 및 전환 체계를 사용합니다.
이름이 지정된 PostgreSQL 언어pl윈 토토2u윈 토토 2 언어 변형을 기반으로 PL/윈 토토을 구현합니다.
이름이 지정된 PostgreSQL 언어pl윈 토토3u윈 토토 3 언어 변형을 기반으로 PL/윈 토토을 구현합니다.
이름이 지정된 언어pl윈 토토u현재 Python 2인 기본 Python 언어 변형을 기반으로 PL/Python을 구현합니다. (이 기본값은 로컬 Python 설치가 고려하는 것과 무관합니다.“기본값”예를 들어 무엇을/usr/bin/윈 토토아마도 그럴 것입니다.) Python 커뮤니티의 Python 3으로의 마이그레이션 진행 상황에 따라 먼 미래의 PostgreSQL 릴리스에서는 기본값이 Python 3으로 변경될 것입니다.
이 계획은 다음의 권장사항과 유사합니다.PEP 394이름 지정 및 전환에 관해파이썬명령.
윈 토토 2용 PL/윈 토토, 윈 토토 3 또는 둘 다를 사용할 수 있는지 여부는 빌드 구성이나 설치된 패키지에 따라 다릅니다.
빌드된 변형은 설치 중에 발견된 Python 버전 또는 다음을 사용하여 명시적으로 설정된 버전에 따라 다릅니다.파이썬환경 변수; 참조PostgreSQL : 문서 : 10 : 16.4. 토토 결과 절차. 한 번의 설치로 두 가지 PL/윈 토토 변형을 모두 사용하려면 소스 트리를 두 번 구성하고 빌드해야 합니다.
이로 인해 다음과 같은 사용 및 마이그레이션 전략이 발생합니다.
기존 사용자와 현재 Python 3에 관심이 없는 사용자는 언어 이름을 사용합니다.pl윈 토토u그리고 가까운 미래에는 아무것도 변경할 필요가 없습니다. 점차적으로 권장됩니다.“미래에도 대비한”윈 토토 2.6/2.7로의 마이그레이션을 통한 코드로 윈 토토 3으로의 최종 마이그레이션을 단순화합니다.
실제로 많은 PL/윈 토토 함수는 거의 또는 전혀 변경 없이 윈 토토 3으로 마이그레이션됩니다.
Python 2에 크게 의존하는 코드가 있고 코드를 변경할 계획이 없다는 것을 알고 있는 사용자는 다음을 사용할 수 있습니다.pl윈 토토2u언어 이름. 이는 PostgreSQL에 의해 Python 2 지원이 완전히 중단될 때까지 아주 먼 미래에도 계속 작동할 것입니다.
Python 3에 대해 자세히 알고 싶은 사용자는 다음을 사용할 수 있습니다.pl윈 토토3u언어 이름은 오늘날의 기준에 따라 영원히 계속 작동할 것입니다. 먼 미래에 Python 3가 기본값이 되면 그들은 다음을 제거하고 싶을 수도 있습니다.“3”미학적 이유로.
Python-3 전용 운영 체제 환경을 구축하려는 무모한 사람들은 다음의 내용을 변경할 수 있습니다.pg_pltemplate만들다pl윈 토토u다음과 동등함pl윈 토토3u, 이로 인해 설치가 전 세계 대부분의 국가와 호환되지 않게 된다는 점을 명심하세요.
문서도 참조하세요파이썬 3.0의 새로운 기능윈 토토 3으로 포팅하는 방법에 대한 자세한 내용은.
동일한 세션에서 윈 토토 2 기반 PL/윈 토토과 윈 토토 3 기반 PL/윈 토토을 사용하는 것은 허용되지 않습니다. 동적 모듈의 기호가 충돌하여 PostgreSQL 서버 프로세스가 충돌할 수 있기 때문입니다. 세션에서 윈 토토 주요 버전이 혼합되는 것을 방지하는 검사가 있으며, 불일치가 감지되면 세션이 중단됩니다. 그러나 별도의 세션에서 동일한 데이터베이스의 PL/윈 토토 변형을 모두 사용할 수 있습니다.