標籤:postgresql plpython安裝 plpython
PL/Python - Python Procedural Language 安裝
[[email protected] ~]# dnf search python |grep postgresqlpython3-postgresql.x86_64 : Connect to PostgreSQL with Python 3python-storm-postgresql.x86_64 : PostgreSQL backend for python-stormpostgresql-plpython.x86_64 : The Python2 procedural language for PostgreSQLpostgresql95-plpython.x86_64 : The Python procedural language for PostgreSQLpostgresql94-plpython.x86_64 : The Python procedural language for PostgreSQLpostgresql-plpython3.x86_64 : The Python3 procedural language for PostgreSQLpostgresql94-python-debuginfo.x86_64 : Debug information for package : postgresql94-pythonpostgresql94-python.x86_64 : Development module for Python code to access apython-testing.postgresql.noarch : Automatically setup a PostgreSQL testingpython3-testing.postgresql.noarch : Automatically setup a PostgreSQL testing
我用的是fedora22系統。postgresql-plpython.x86_64、postgresql-plpython3.x86_64是我們需要安裝的(Python2和Python3版本都支援)。
[[email protected] ~]# dnf install postgresql-plpython.x86_64[[email protected] ~]# dnf install postgresql-plpython3.x86_64
-bash-4.3$ pwd/usr/share/pgsql/extension-bash-4.3$ ll |grep python-rw-r--r--. 1 root root 351 6月 13 03:06 plpython2u--1.0.sql-rw-r--r--. 1 root root 196 6月 13 03:06 plpython2u.control-rw-r--r--. 1 root root 402 6月 13 03:06 plpython2u--unpackaged--1.0.sql-rw-r--r--. 1 root root 351 6月 13 03:06 plpython3u--1.0.sql-rw-r--r--. 1 root root 196 6月 13 03:06 plpython3u.control-rw-r--r--. 1 root root 402 6月 13 03:06 plpython3u--unpackaged--1.0.sql-rw-r--r--. 1 root root 347 6月 13 03:06 plpythonu--1.0.sql-rw-r--r--. 1 root root 194 6月 13 03:06 plpythonu.control-rw-r--r--. 1 root root 393 6月 13 03:06 plpythonu--unpackaged--1.0.sql-bash-4.3$
plpython3u.control、plpython2u.control等已經有了。
CREATE EXTENSION plpython3u; CREATE EXTENSION plpython2u;
上述sql的執行可以在pgAdmin IDE工具裡執行(有許可權使用者)。可以查看是否安裝了擴充。
CREATE FUNCTION pymax (a integer, b integer) RETURNS integerAS $$ if a > b: return a return b$$ LANGUAGE plpython3u;
執行一下:
select pymax(12,13);
輸出13。
pgAdmin 查看已經安裝的擴充圖:
錯誤處理:
錯誤處理錯誤: 無法開啟擴充控制檔案 "/usr/share/pgsql/extension/plpythonu3.control": 沒有那個檔案或目錄
********** 錯誤 **********
錯誤: 無法開啟擴充控制檔案 "/usr/share/pgsql/extension/plpythonu3.control": 沒有那個檔案或目錄SQL 狀態: 58P01
上述錯誤表示外掛程式安裝包沒能安裝正確。必須確保pg擴充目錄內有,才可以。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載http://blog.csdn.net/doctor_who2004。
PostgreSQL PL/Python - Python Procedural Language 安裝