이동 이미지 폴더.
E:\pgData96\imgdir\
- 'E:\pgData96'
내 PostgreSQL의 데이터 디렉토리이고 'imgdir'
이미지가
*
pg_ls_dir
를 삽입 할 구성 :
만 데이터베이스 클러스터 디렉토리에있는 파일과 가 액세스 할 수있는 log_directory에. 클러스터 디렉토리의 파일에 대한 상대 경로와 log_directory 구성 설정 과 일치하는 경로를 로그 파일에 사용하십시오. 이 기능의 사용은 수퍼 유저로 제한됩니다. 위 동적으로 선택
SELECT format('insert into imgs(img) values(bytea_import(''%s''));', ('E:\pgData96\imgdir\' || pg_ls_dir)) a
FROM pg_ls_dir('E:\pgData96\imgdir\');
폴더 E:\pgData96\imgdir\
의 모든 이미지를 삽입 문을 작성합니다.
Ex.
"insert into imgs(img) values(bytea_import('E:\pgData96\imgdir\12.2.17. - 5.png'));"
"insert into imgs(img) values(bytea_import('E:\pgData96\imgdir\15 - 49.png'));"
"insert into imgs(img) values(bytea_import('E:\pgData96\imgdir\16 - 1.png'));"
"insert into imgs(img) values(bytea_import('E:\pgData96\imgdir\16 - 20 (1).png'));"
동적 DIR 결과에서 다음 SQL 스크립트
do $$
declare rw record;
begin
for rw in -- loops through each row in the resultset
SELECT format('insert into imgs(img) values(bytea_import(''%s''));', ('E:\pgData96\imgdir\' || pg_ls_dir)) a
FROM pg_ls_dir('E:\pgData96\imgdir\') loop
execute rw.a; -- executes row(insert statement)
end
loop;end;$$;
루프를 사용하여 삽입 문을 실행하고 기존의 명령으로 삽입 –