Оригинальный Вопрос

Поиск
Список
Период
Сортировка
От Владимир Комаров
Тема Оригинальный Вопрос
Дата
Msg-id 019c01d0fae1$5d3d2be0$17b783a0$@sibnet.ru
обсуждение исходный текст
Ответы Re: [pgsql-ru-general] Оригинальный Вопрос  (Dmitry Igrishin <dmitigr@gmail.com>)
Список pgsql-ru-general

Добрый день

Есть вопрос:

Есть две базы с таблицей

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ы

А как перетащить именно данные? Направьте, пожалуйста.

 

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 по дате отправления:

Предыдущее
От: Nikolay Samokhvalov
Дата:
Сообщение: Приглашение: #PostgreSQLRussia 14.10.2015, офис Яндекса, Москва
Следующее
От: Dmitry Igrishin
Дата:
Сообщение: Re: [pgsql-ru-general] Оригинальный Вопрос