PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Modul tidak ditemukan saat mengimpor paket Python dalam prosedur plpython3u

Selain variabel lingkungan lain seperti PGDATA dalam skrip shell (pg_service.sh), atur PYTHONPATH='/path/to/python:/path/to/your/module'

Misalnya. cat /Users/postgres/pg_service.sh

export PGDATABASE=postgres
export PGUSER=postgres
export PGPORT=5432
export PATH=/Library/PostgreSQL/11/bin:$PATH
export PGLOCALEDIR=/Library/PostgreSQL/11/share/locale
export PYTHONUSERBASE=/Users/postgres/packaging_tutorial
export PYTHONPATH=/Library/edb/languagepack-11/Python-3.6:$PYTHONUSERBASE
pg_ctl -D /Library/PostgreSQL/11/data -l /Users/postgres/logfile $1

Mulai server:

> sudo -u postgres /Users/postgres/pg_service.sh start
waiting for server to start.... done
server started 

/Users/postgres/packaging_tutorial/example_pkg/__init__.py :

def retpy3():
    return 7/5

fungsi pg:

CREATE OR REPLACE FUNCTION expy3()
RETURNS text
LANGUAGE plpython3u
AS $$
import example_pkg
return example_pkg.retpy3()
$$;

Keluaran

psql  -c 'select * from expy3()';
 expy3
--------
 1.4



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buka kueri SEPERTI postgresql

  2. Fungsi sebagai parameter untuk fungsi lain di Postgres

  3. GABUNG Beberapa Tabel berdasarkan stempel waktu dan kondisi lain

  4. connection.select_value hanya mengembalikan string di postgres dengan permata pg

  5. dblink tidak ada bahkan ketika ekstensi sudah ada?