3言語の両方をサポートします。(PostgreSQLのインストール手順では、サポートするPythonの細かなマイナーバージョンに関して、より正確な情報が記載されています。3言語には重要な側面でいくつか互換性がありませんので、混在を防ぐためにPL/Pythonでは以下の命名ならびに移行計画が使用されています。2言語に基づいたPL/Pythonを実装します。3言語に基づいたPL/Pythonを実装します。2)に基づいたPL/Pythonを実装します。(このデフォルトはどのローカルにインストールされたPythonがその「デフォルト」とみなされるか、例えば/usr/bin/pythonが何を示すか、とは独立しています。394内の、pythonコマンドの命名と移行に関する推奨に類似しています。3用のPL/Python、またはその両方が利用できるかどうかは、構築時の設定またはインストールしたパッケージに依存します。ヒントどのバージョンのPythonがインストール時に検出されるか、または、PYTHON環境変数を使用してバージョンを明示的に設定することで、構築される亜種が決まります。インストール手順を参照してください。1つのインストレーションで両方のPL/Pythonを利用可能にするためには、ソースツリーでconfigureと構築を2回行う必要があります。この結果以下のような使用方法と移行戦略となります。3に興味を持たないユーザはplpythonuという名前の言語を使用し、当分の間何も変更する必要はありません。2.6/2.7への移行を介してコードを少しずつ「将来に備える」ことを勧めます。2に大きく依存するコードがあることが分かっていて、変更する予定がないユーザはplpython2u言語名を使用することができます。2のサポートが完全になくなる、非常に先の将来まで動作し続けます。3に挑戦したいユーザは、現在の標準では永久に動作し続けるplpython3u言語名を使用できます。3がデフォルトになった時、美的な理由から「3」という文字はなくなることになるでしょう。3のみのオペレーティングシステム環境を構築したい、恐れを知らぬユーザは、pg_pltemplateの内容を変更して、plpythonuがplpython3uを示すようにすることができます。世間一般と互換性がないインストレーションを作成していることを覚えておいてください。3.0における新機能文書を参照してください。3を基にしたPL/Pythonを同じセッションで使用することはできません。動的モジュール内のシンボルが相反するため、こうするとPostgreSQLサーバプロセスがクラッシュしてしまうためです。あるセッション内でPythonのメジャーバージョンが混在させないための検査があり、不一致が見つかるとセッションは中断されます。別々のセッションからであれば、同じデータベースにおいて異なるPL/Pythonの両方を使用することができます。