Добрый деньЕсть вопрос:Есть две базы с таблицейCREATE TABLE sys.files( bd character(3), file oid, dat timestamp without time zone DEFAULT now())WITH ( OIDS=FALSE);К базе1 подключена база2 для передачи данных в основную (файлы)CREATE FOREIGN TABLE kku.fkas (bd character(3) , file oid , dat timestamp without time zone ) SERVER bd2 OPTIONS (table_name 'files', schema_name 'sys'); В таблицах хранятся файлы. (IOD)
Добрый день
Есть вопрос:
Есть две базы с таблицей
CREATE TABLE sys.files(
bd character(3),
file oid,
dat timestamp without time zone DEFAULT now()
)WITH ( OIDS=FALSE);
К базе1 подключена база2 для передачи данных в основную (файлы)
CREATE FOREIGN TABLE kku.fkas
(bd character(3) ,
file oid ,
dat timestamp without time zone )
SERVER bd2
OPTIONS (table_name 'files', schema_name 'sys');
В таблицах хранятся файлы. (IOD)
Если я просто перекидываю из одной таблицы в другую данные INSERT INTO kku.files (select * FROM kku.fkas);Данные передаются, но естественно, только уже ненужные ссылки на OIDыА как перетащить именно данные? Направьте, пожалуйста.
Если я просто перекидываю из одной таблицы в другую данные
INSERT INTO kku.files (select * FROM kku.fkas);
Данные передаются, но естественно, только уже ненужные ссылки на OIDы
А как перетащить именно данные? Направьте, пожалуйста.
PS данные загружаются при помощи php по принципу такого алгоритма: //Помещение файла в таблицу $file_handle=fopen("$userfile_name", "rb"); //Открываем курсор файла, который мы только что закачали на сервер для бинарного чтения (rb) $file_content = fread($file_handle, filesize($userfile_name)); //Читаем файл в переменную fclose($file_handle); //Закрываем курсор pg_exec ($conn, "BEGIN;"); //Работа с lo требует транзакции $oid = pg_locreate ($conn); //Создаем большой объект $handle = pg_loopen ($conn, $oid, "wb"); //Открываем его для записи (на всякий случай к флагу w добавляем b для бинарников) pg_lowrite ($handle, $file_content); //Записываем в объект содержимое файла @pg_exec($conn, "INSERT INTO kku.filses (bd, file) VALUES (‘BD1’,$oid);");
PS данные загружаются при помощи php по принципу такого алгоритма:
//Помещение файла в таблицу
$file_handle=fopen("$userfile_name", "rb"); //Открываем курсор файла, который мы только что закачали на сервер для бинарного чтения (rb)
$file_content = fread($file_handle, filesize($userfile_name)); //Читаем файл в переменную
fclose($file_handle); //Закрываем курсор
pg_exec ($conn, "BEGIN;"); //Работа с lo требует транзакции
$oid = pg_locreate ($conn); //Создаем большой объект
$handle = pg_loopen ($conn, $oid, "wb"); //Открываем его для записи (на всякий случай к флагу w добавляем b для бинарников)
pg_lowrite ($handle, $file_content); //Записываем в объект содержимое файла
@pg_exec($conn, "INSERT INTO kku.filses (bd, file) VALUES (‘BD1’,$oid);");
pgsql-ru-general by date:
Соглашаюсь с условиями обработки персональных данных