PostgreSQL PL/Python - Python Procedural Language 安裝

來源:互聯網
上載者:User

標籤:postgresql   plpython安裝   plpython   

PL/Python - Python Procedural Language 安裝
  • 查看系統提供plpython包(已經編譯好的)。
[[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等已經有了。

  • pg資料庫安裝plpython擴充
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 安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.