Postgres DB로 문서를 가져 오는 데 문제가 있습니다. 내가 plpgsql 기능을 가지고, 더 간단 버전은 그렇게 볼 수 있었다 :
PL/pgSQL 함수 + 클라이언트 측 lo_import
create function add_file(flag integer, sth varchar) returns void as
begin
if flag = 1 then
insert into tab_one values (my_file_oid, sth);
else
insert into tab_two values (my_file_oid, sth);
end if;
end;
그리고 psql의 명령을
\lo_import('path/to/file');
두 코드 파일 일인치 나는 클라이언트 사이트 lo_import가 필요하기 때문에 lo_import()를 삽입 문에 넣을 수 없다. 변수 LASTOID가 있지만 add_file 함수에서는 사용할 수 없습니다. 그리고 그것은 모든 호출 add_file()에서 업데이트되지 않을 것입니다.
그럼 어떻게하면 데이터베이스에 oid를 넣을 수 있습니까? 예를 들어, '플래그'와 'sth'는 insert 문을 사용하고 모든 것은 인수를 사용하여 함수에 넣으시겠습니까? 파일이 클라이언트 컴퓨터에 있습니다.
나는 다른 plpgsql 코드에서이 기능 (add_file)로 전화 : 는 '(주 함수를 만드는) 이 (...) 이 add_file (1,'A '를) 수행을 시작으로 무효 언어 plpgsql을 반환 end; ' 그래서 여기 \ lo_import를 사용할 수 없습니다. INSERT에 대한 도움말을 보내 주셔서 감사합니다! – Borgo
@Borgo : 서버 측 실행을위한 변형을 추가했습니다. 그것은 슈퍼 유저들에게만 제한되어 있습니다. –