Для начала - нужно его установить:
Нужно скачать последнюю версию с http://pgfoundry.org/projects/plproxy и распаковать её (я распаковал в /tmp/plproxy).
Далее в описании процесса инсталляции сказано сделать
make
...но мне ругалось на ошибки.
Как оказалось нужно еще установить кое-что:
sudo apt-get install libpq-dev
sudo apt-get install postgresql-server-dev-8.3
sudo apt-get install flex
sudo apt-get install bison
После этого нормально проходит
make
make install
Но на make installcheck мне ругнулось, что типа постгрес не отвечает на стандартном порту. Ну ладно. Я сделал далее как следует:
psql -f /usr/share/contrib/plproxy.sql test
Конечно же БД test уже существовала. Ругнулось на отсутствие пользователя root. Поскольку это тестирование - я выстренько сделал суперпользователя root в БД.
Далее я создал еще одну БД ro1.
В БД ro1 создал таблицу Test_1
CREATE TABLE test_1
(
"Id" serial NOT NULL,
"Name" character varying(400) NOT NULL,
CONSTRAINT pk_id PRIMARY KEY ("Id")
)
WITH (OIDS=FALSE);
ALTER TABLE test_1 OWNER TO postgres;
Вставил несколько строк (руками).
Потом проверил работу plproxy-языка.
Это в БД test:
create or replace function test_plproxy(i_text text)
returns setof text as $$
connect 'dbname=ro1';
select "Name" from Test_1 where "Id"=1;
--select $1;
$$ language plproxy;
Теперь с БД test выполняю
select test_plproxy('zzz');
И получаю ответ (не буду его приводить) - значит все работает!
Комментариев нет:
Отправить комментарий