PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как се обработват операторите за импортиране в plpython?

import се изпълнява при всяко извикване на функция. Това е същото поведение, което бихте получили, ако сте написали нормален модул на Python с import израз вътре в тялото на функция, за разлика от ниво модул.

Да, това ще повлияе на производителността.

Можете да заобиколите това, като кеширате вашите импортирания по следния начин:

CREATE FUNCTION test() RETURNS text
LANGUAGE plpythonu
AS $$
if 'json' in SD:
    json = SD['json']
else:
    import json
    SD['json'] = json

 return json.dumps(...)
$$;

Това разбира се не е много красиво и се обсъждат по-добри начини за това, но те няма да се случат преди PostgreSQL 9.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. Защо е необходим putenv() на вече дефинирана променлива на средата?

  2. Json отговор на postgresql преобразуване на дата и час Java postgresql

  3. Изгледи на списъци на PostgreSQL

  4. Получаване на резултати от таблична функция Postgresql с JOOQ

  5. резервно копие на база данни odoo12 няма собственик?