Я запускаю хранимую процедуру Redshift с Python, используя psycopg2
. Я могу запустить его без ошибок:
import psycopg2
con=psycopg2.connect("dbname=my_db host=my_host port=5439 user=my_user password=my_pw")
cur = con.cursor()
cur.execute('CALL sp_dim_date();')
Процедура содержит число RAISE
, оба NOTICE
и INFO
. Как я могу получить их из Python? Я хочу использовать эту информацию в других частях моего приложения для регистрации происходящего.
Процедура имеет такую структуру, и я хочу захватить привет из хранимой процедуры :
CREATE OR REPLACE PROCEDURE sp_dim_date()
LANGUAGE plpgsql
AS $$
BEGIN
RAISE NOTICE 'hi from stored procedure';
END;
$$;
Если я запускаю процедуру из psql
CLI, она хорошо печатает все повышения.
К вашему сведению: функция, cursor.callproc()
, но мне так и не удалось ее запустить, и согласно этому ответу она устарела.