移動画像フォルダ*(例C:/Program Files/PostgreSQL/9.6/data
を)。
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の結果に
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;$$;
ループ次のSQLスクリプトを使用して、INSERT文を実行し、既存のコマンドを挿入します –