Обсуждение: How can I run an external program from a stored procedure?

Поиск
Список
Период
Сортировка

How can I run an external program from a stored procedure?

От
"Rob Richardson"
Дата:
Greetings!
 
I'm running PostgreSQL 8.4 on MS Windows Server 2003.
 
Assume I have a program named FlashLightAndSoundHorn.exe.  In my database, there is a table that is read by some other program.  Records in that table have a timestamp, so I can tell how long they've been waiting.  I want a stored procedure that checks to see if a record has been waiting too long, and if it does, then it will run FlashLightAndSoundHorn.exe.  How do I run that program from inside a stored procedure?
 
Thanks very much!
 
RobR
 

Robert D. Richardson
Product Engineer Software

RAD-CON, Inc.
TECHNOLOGY: Innovative & Proven
Phone : +1.440.871.5720 ... ext 123
Fax:  +1.440.871.2948
Website:  www.RAD-CON.com
E-mail:  rob.richardson@RAD-CON.com

 
Вложения

Re: How can I run an external program from a stored procedure?

От
Tom Lane
Дата:
"Rob Richardson" <Rob.Richardson@rad-con.com> writes:
> Assume I have a program named FlashLightAndSoundHorn.exe.  In my
> database, there is a table that is read by some other program.  Records
> in that table have a timestamp, so I can tell how long they've been
> waiting.  I want a stored procedure that checks to see if a record has
> been waiting too long, and if it does, then it will run
> FlashLightAndSoundHorn.exe.  How do I run that program from inside a
> stored procedure?

If you write in plperlu or plpythonu then you can use those languages'
ordinary ability to run a subprocess.

            regards, tom lane

Re: How can I run an external program from a stored procedure?

От
Steve Atkins
Дата:
On Jun 4, 2010, at 8:03 AM, Rob Richardson wrote:

> Greetings!
>
> I'm running PostgreSQL 8.4 on MS Windows Server 2003.
>
> Assume I have a program named FlashLightAndSoundHorn.exe.  In my database, there is a table that is read by some
otherprogram.  Records in that table have a timestamp, so I can tell how long they've been waiting.  I want a stored
procedurethat checks to see if a record has been waiting too long, and if it does, then it will run
FlashLightAndSoundHorn.exe. How do I run that program from inside a stored procedure? 

A better way to do it is to have an external program that polls the database (or waits to be notified from a database
triggerusing listen/notify) and have that program do anything that's needed. 

Cheers,
  Steve