0
사용자 정의 유형으로 PlPython에 저장 프로 시저를 작성했습니다. Plpython은 사용자 정의 유형을 지원하지 않으므로 사용자 정의 유형에 대한 CAST를 작성했습니다. 여전히 plpy.prepare를 호출하면 오류가 계속 발생합니다. 내가 잘못 CAST를 사용하고 있는지 확실하지 않다 - 예제 코드는 다음과 같습니다 :PostgreSQL의 PLPython 및 CAST 복합 데이터 유형
#User Defined Type - person
CREATE TYPE person As(name character varying(50), state character(2));
#Table definition using 'person'
CREATE TABLE manager As(id integer, mgr person)
#CAST for person
CREATE OR REPLACE FUNCTION person_to_text(person) RETURNS text AS 'SELECT ROW($1.*)::text' LANGUAGE SQL;
CREATE CAST (cv_person as text) WITH FUNCTION person_to_text(person)
#PlPython procedure
CREATE OR REPLACE FUNCTION load_portfolio_assoc (name text, state text) RETURNS integer AS $$
mgr_str ="('"+name+"','"+state+"')"
insert_qry = 'Insert into manager (mgr) values($1)'
value_type = ['text']
qry = plpy.prepare(insert_qry,value_type)
rv = plpy.execute(qry, [mgr_str])
return 1
$$ LANGUAGE plpython3u;