無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

43.1. Python 2対Python 3

PL/PythonはPython 2およびPython 3言語の両方をサポートします。 (PostgreSQLのインストール手順では、サポートするPythonの細かなマイナーバージョンに関して、より正確な情報が記載されています。) Python 2及びPython 3言語には重要な側面でいくつか互換性がありませんので、混在を防ぐためにPL/Pythonでは以下の命名ならびに移行計画が使用されています。

この計画は、 PEP 394 内の、 python コマンドの命名と移行に関する推奨に類似しています。

Python 2用のPL/PythonかPython 3用のPL/Python、またはその両方が利用できるかどうかは、構築時の設定またはインストールしたパッケージに依存します。

ティップ: どのバージョンのPythonがインストール時に検出されるか、または、 PYTHON 環境変数を使用してバージョンを明示的に設定することで、構築される亜種が決まります。 項15.4 を参照してください。 1つのインストレーションで両方のPL/Pythonを利用可能にするためには、ソースツリーでconfigureと構築を2回行う必要があります。

この結果以下のような使用方法と移行戦略となります。

また、Python 3への移植に関する情報については Python 3.0における新機能 文書を参照してください。

Python 2を基にしたPL/PythonとPython 3を基にしたPL/Pythonを同じセッションで使用することはできません。 動的モジュール内のシンボルが相反するため、こうするとPostgreSQLサーバプロセスがクラッシュしてしまうためです。 あるセッション内でPythonのメジャーバージョンが混在させないための検査があり、不一致が見つかるとセッションは中断されます。 しかし別々のセッションからであれば、同じデータベースにおいて異なるPL/Pythonの両方を使用することができます。


powered by SEO.CUG.NET