在postgresql (Windows版)中使用plpython

PL/Python過程語言允許用Python 語言編寫PostgreSQL函數。 我們需要安裝python擴展程序。

 要注意Windows 版本PostgreSQL和Python的版本對應關係。經驗證,PostgreSQL 11 支持Python 3.6-3.8;PostgreSQL 9.6只支持Python 3.3;Postgresql 9.2-9.5只支持Python 3.2。

對於 PostgreSQL 9.6,安裝plpython的方法如下:

1. 下載並安裝Python 3.3。在https://www.python.org/download/releases/ 選擇操作系統對應對應版本。

2. 進入python的安裝路徑下的DDLs文件夾,找到python3.dll。把它複製到Postgresql安裝目錄下的lib文件夾中,重命名爲python33.dll(“33”代表python 3.3).

3. 重啓PostgreSQL 使之生效

4. 執行如下測試代碼:

create extension if not exists plpython3u;

create function pymax (a integer, b integer)

returns integer

as $$

    if a > b:

        return a

    return b

$$ language plpython3u;

 

select pymax(1,2);

 

返回結果:2

這樣就成功地創建並調用了一個由PL/Python編寫的函數。

 

對於 PostgreSQL 11,安裝plpython的方法如下:

  1. 下載並安裝Python 3.6。在https://www.python.org/download/releases/ 選擇操作系統對應對應版本
  2. 進入python的安裝目錄,找到python3.dll。把它複製到PostgreSQL安裝目錄下的lib文件夾中,重命名爲python36.dll(“36”代表python 3.6).
  3.  重啓PostgreSQL 即可生效

 

注意:

如果PostgreSQL沒有安裝python.dll程序,或者安裝的python.dll版本不對,在執行“CREATE EXTENSION plpython3u” 後,會報出如下錯誤:

ERROR:  could not access file "$libdir/plpython3": No such file or directory.

所以一定要注意安裝正確的版本。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章