#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)
Любая обратная связь будет оценена.