Обсуждение: функция на plperl для чтения файла с диска
Добрый день ! Нужно прочитать файл с диска сервера, и передать его на клиент через 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 Спасибо !
Привет Тебе надо файл перекодировать в 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 -----------------------------------------------------------