0
저는 Python에서 Postgres에 함수를 작성하려고합니다. 포스트 그레스 데이터베이스에 연결하면 Psycopg 2가 사용되고 다른 인스턴스에서는 성공적으로 연결됩니다. 코드 : 나는 pgAdmin에서 코드를 실행하면Python에서 Postgres 함수를 만듭니다.
line 84, in
ROWS 1000;' %(schema))
ProgrammingError: type geometry does not exist
이 성공적으로 실행 :
pg_cursor.execute('CREATE OR REPLACE FUNCTION %s.fix_geometry(geometry) \
RETURNS SETOF geometry AS\
$BODY$\
SELECT geom the_geom\
FROM \
(\
SELECT (st_dump(st_buffer(st_snaptogrid(st_makevalid(the_geom), 0.5), 0))).geom\
FROM (SELECT geom the_geom FROM st_dump(st_snaptogrid($1, 0.5))) a\
) b\
WHERE geometrytype(geom) = \'POLYGON\' AND st_area(geom) >= 0.01;\
$BODY$\
LANGUAGE sql VOLATILE\
COST 100\
ROWS 1000;' %(schema)) #line 84
pg_connection.commit()
pg_cursor.execute('ALTER FUNCTION %s.fix_geometry(geometry) OWNER TO analysis' % (schema))
pg_connection.commit()
는 오류가 발생합니다. 내가 뭘 놓치고 있니?
파이썬 2.7, 포스트 그레스 9.3