powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / trigger
10 сообщений из 10, страница 1 из 1
trigger
    #32221425
Dmitry Bychkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi!

Не подскажите ли как:

Заставить триггер, который сработал на одном PostGre сервере, менять содержимое таблицы, находящейся на другом сервере?
Т.е. по событию (например добавление в таблицу) срабатывает тригер и выплевывает на удаленный сервер - "в таблицу что-то добавили"
...
Рейтинг: 0 / 0
trigger
    #32221457
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написать триггер на C ?
...
Рейтинг: 0 / 0
trigger
    #32221530
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как чего то сделать на другом сервере?\r
Ответ можно выбрать отсюда /topic/35415\r
Коротко говоря ставишь из ../contrib /dblink этот самый dblink\r
и выполняешь произвольные запросы к удаленной базе или другим базам на твоем хосте. Например :\r
mdb=# select dblink_connect('hostaddr=200.191.132.2 port=5432 dbname=radius us \r
er=postgres password=1'); \r
dblink_connect \r
---------------- \r
OK \r
(1 запись) \r
\r
mdb1=# select * from dblink('select username from radacct') as t(name varchar);\r
name \r
---------- \r
gennadiy \r
pionnier \r
vova \r
pionnier \r
gennadiy \r
vova \r
vova \r
testik \r
testik \r
gennadiy \r
testik \r
===============================================\r
Вот и все. Пиши триггер,или правило , вызывающее dblink() и будет тебе счастье ;)\r
Удачи!
...
Рейтинг: 0 / 0
trigger
    #32221532
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Stellar
Хмм есть стандартные решение и нечего поощрять изобретение велосипедов
и "автоматических думателей" ;)
...
Рейтинг: 0 / 0
trigger
    #32222418
Dmitry Bychkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо за помощь!

А есть ли способ "подцепить" базу с сервера другой СУБД? (например MS SQL)
Если нет, то каким образом можно заставить триггер выполнять какие-либо действия помимо манипуляций с данными? Скажем письмишко отбить, что произошло что-то и т.п.?
...
Рейтинг: 0 / 0
trigger
    #32222656
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот в этом случае действительно придется писать триггер на C. Либо на untrusted plperl.
...
Рейтинг: 0 / 0
trigger
    #32222865
Dmitry Bychkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!

А не подскажите где бы про это почитать поподробнее можно было? про то как можно триггеры, созданные через С и perl применять в PostgreSQL?
А может быть примерчик какой-нибудь посмотреть можно? Например триггер, написаный на любом языке, позволяющий отправить сообщение по эл. почте.

Еще раз, спасибо!
...
Рейтинг: 0 / 0
trigger
    #32222867
Dmitry Bychkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!

А не подскажите где бы про это почитать поподробнее можно было? про то как можно триггеры, созданные через С и perl применять в PostgreSQL?
А может быть примерчик какой-нибудь посмотреть можно? Например триггер, написаный на любом языке, позволяющий отправить сообщение по эл. почте.

Еще раз, спасибо!
...
Рейтинг: 0 / 0
trigger
    #32223053
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к сожалению в документации найти примеры довольно трудно, сам пока не нашёл, попробуй покапаться в архивах и www.google.com

http://archives.postgresql.org/pgsql-docs/2000-05/msg00007.php
...
Рейтинг: 0 / 0
trigger
    #32223917
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А есть ли способ "подцепить" базу с сервера другой СУБД? (например MS SQL)
Способ есть - это различного рода ODBC proxy.
Например я пользуюсь для забора данных из табличек M$ и Paradox такой
штукой dbtcp прозывается. Живет он тут : http://sourceforge.net/projects/dbtcp/ .
Под виндой висит его сервер.
Клиент пускается на фрюшке, и по крону забирает например свежие данные в поток INSERT-ов.
В другом варианте - клиент dbtcp вызывается из постгресовой ХП писанной на plperl. И это гораздо красивей и стабильней скрипта пускаемого по крону,
зато его быстрее написать ;)

К сожалению то что предлагается - довольно сырая вещь которую еще
нужно круто "обработать рашпилем" :) Вдобавок на мои вопли о глюках откликнулся только разработчик клиента.... а проблемы всплывали на серваке.
Однако это все было поборено в течении недели схема устаканилась и работает
уже около полугода.
Возможно меня поправят - указав на какието другие пути увязки с M$ SQL/Sybase/Oracle и прочая....
Тут все просто- основная причина использования dbtcp - отсутствие поддержки Paradox в Unix-ODBC. Если кто знает более качественный и freeware-ный продукт подскажите ;)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / trigger
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]