функция на plperl для чтения файла с диска
функция на plperl для чтения файла с диска
От:
Serik <uge@pochtamt.ru>
Дата:
Добрый день !
Нужно прочитать файл с диска сервера, и передать его на
клиент через PostgreSQL.
функция чтения
-- Function: read_file(text)
-- DROP FUNCTION read_file(text);
CREATE OR REPLACE FUNCTION read_file(text)
RETURNS bytea AS
$BODY$
my $file=@_[0];
return `type $file`; -- `cat $file` for linux
$BODY$
LANGUAGE 'plperlu' VOLATILE;
Пример запроса
select * from read_file($$d:\file.mp3$$);
возвращает 13 байт вместо 6 Мб.
Подозреваю что это связано с encode/decode
Что прочитать ?
Server PostgreSQL 8.1 Win2k
Спасибо !
Re: функция на plperl для чтения файла с диска
От:
sanya-spb@mail.ru
Дата:
Привет Тебе надо файл перекодировать в escape последовательности а почитать - внимательно секцию 8.4 Binari Data Types В сообщении от Tuesday 28 March 2006 14:12 Serik написал(a): > Добрый день ! > > Нужно прочитать файл с диска сервера, и передать его на > клиент через PostgreSQL. > > функция чтения > > -- Function: read_file(text) > -- DROP FUNCTION read_file(text); > CREATE OR REPLACE FUNCTION read_file(text) > RETURNS bytea AS > $BODY$ > my $file=@_[0]; > return `type $file`; -- `cat $file` for linux > > $BODY$ > LANGUAGE 'plperlu' VOLATILE; > > Пример запроса > select * from read_file($$d:\file.mp3$$); > > возвращает 13 байт вместо 6 Мб. > > Подозреваю что это связано с encode/decode > Что прочитать ? > > Server PostgreSQL 8.1 Win2k > > Спасибо ! > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org -----------------------------------------------------------