Plpython UDF с использованием PostgreSQL

#postgresql #user-defined-functions #plpython #sql-parser

#postgresql #определяемые пользователем функции #plpython #sql-анализатор

Вопрос:

Я создал функцию, которая использует модуль sqlparse для извлечения всех таблиц, выбранных из любого заданного оператора sql:

 create or replace function my_function(x text) returns text
as $$
import sqlparse
from collections import namedtuple
from sqlparse.sql import IdentifierList, Identifier, Function
from sqlparse.tokens import Keyword, DML, Puncutation

*the rest of my parser program*

$$ language plpythonu;
  

Когда я выполняю функцию таким образом:

 select my_function('select foo from bar');
  

Он возвращает: bar

Когда я выполняю функцию таким образом:

 select my_column, my_function(my_column) from schema.my_table;
  

Сбой с:

ОШИБКА: XX000: ошибка импорта: нет имени модуля sqlparse (plpython.c:5038)

Любая обратная связь будет оценена.