Triggers, Rules and email

Triggers, Rules and email

am 20.01.2004 18:06:39 von Paul

Anyone know if I can create a trigger or a rule in Pgsql that will send
an email in the event of an attempt to update a database field no-one
should be updating?

TIA,
Paul

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Re: Triggers, Rules and email

am 20.01.2004 18:59:05 von Scott Marlowe

On Tue, 20 Jan 2004, Paul wrote:

> Anyone know if I can create a trigger or a rule in Pgsql that will send
> an email in the event of an attempt to update a database field no-one
> should be updating?

Sure, that would involve installing the pl language of your choice as an
untrusted language. PHP can be installed that way as a pl, btw, then you
can just use the mail() trigger function in it.

http://www.commandprompt.com/entry.lxp?lxpe=294


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Re: Triggers, Rules and email

am 30.01.2004 16:49:04 von Robby Russell

scott.marlowe typed this on 01/20/2004 09:59 AM:
> On Tue, 20 Jan 2004, Paul wrote:
>
>
>>Anyone know if I can create a trigger or a rule in Pgsql that will send
>>an email in the event of an attempt to update a database field no-one
>>should be updating?
>
>
> Sure, that would involve installing the pl language of your choice as an
> untrusted language. PHP can be installed that way as a pl, btw, then you
> can just use the mail() trigger function in it.
>
> http://www.commandprompt.com/entry.lxp?lxpe=294
>
>

Yes, plPHP can be used for this. If you want an example, let me know and
I'll post one on the list.

-Robby

--
#-------------------------------------------------------
# Robby Russell, | Sr. Administrator / Lead Programmer
# Command Prompt, Inc. | http://www.commandprompt.com
# rrussell@commandprompt.com | Telephone: (503) 667.4564
#-------------------------------------------------------

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Re: Triggers, Rules and email

am 30.01.2004 17:00:37 von Aldo Leyva Alvarado

Yes, I want to see an example!!!!!!


Aldo Leyva
----- Original Message -----
From: "Robby Russell"
To:
Sent: Friday, January 30, 2004 10:49 AM
Subject: Re: [PHP] Triggers, Rules and email


> scott.marlowe typed this on 01/20/2004 09:59 AM:
> > On Tue, 20 Jan 2004, Paul wrote:
> >
> >
> >>Anyone know if I can create a trigger or a rule in Pgsql that will send
> >>an email in the event of an attempt to update a database field no-one
> >>should be updating?
> >
> >
> > Sure, that would involve installing the pl language of your choice as an
> > untrusted language. PHP can be installed that way as a pl, btw, then
you
> > can just use the mail() trigger function in it.
> >
> > http://www.commandprompt.com/entry.lxp?lxpe=294
> >
> >
>
> Yes, plPHP can be used for this. If you want an example, let me know and
> I'll post one on the list.
>
> -Robby
>
> --
> #-------------------------------------------------------
> # Robby Russell, | Sr. Administrator / Lead Programmer
> # Command Prompt, Inc. | http://www.commandprompt.com
> # rrussell@commandprompt.com | Telephone: (503) 667.4564
> #-------------------------------------------------------
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Re: Triggers, Rules and email

am 30.01.2004 17:42:15 von Robby Russell

Aldo Leyva Alvarado typed this on 01/30/2004 08:00 AM:
> Yes, I want to see an example!!!!!!
>
>
> Aldo Leyva
> ----- Original Message -----
> From: "Robby Russell"
> To:
> Sent: Friday, January 30, 2004 10:49 AM
> Subject: Re: [PHP] Triggers, Rules and email
>
>
>
>>scott.marlowe typed this on 01/20/2004 09:59 AM:
>>
>>>On Tue, 20 Jan 2004, Paul wrote:
>>>
>>>
>>>
>>>>Anyone know if I can create a trigger or a rule in Pgsql that will send
>>>>an email in the event of an attempt to update a database field no-one
>>>>should be updating?
>>>
>>>
>>>Sure, that would involve installing the pl language of your choice as an
>>>untrusted language. PHP can be installed that way as a pl, btw, then
>
> you
>
>>>can just use the mail() trigger function in it.
>>>
>>>http://www.commandprompt.com/entry.lxp?lxpe=294
>>>
>>>
>>
>>Yes, plPHP can be used for this. If you want an example, let me know and
>>I'll post one on the list.
>>
>>-Robby

As requested, here is a simple function that takes 4 arguments ($arg0-3)
and utilizes the php mail() function. I added the headers for an example
of how easy it is to utilize plPHP in PostrgreSQL.


CREATE OR REPLACE FUNCTION phpmail(text,text,text,text) RETURNS integer AS '
# Argument list
$email_address = $arg0;
$email_from = $arg1;
$subject = $arg2;
$body = $arg3;


#
# ..Typically, you would validate arguments here


# Build email headers
$headers = "From: $email_from\r\n";
$headers .= "Reply-To: $email_from\r\n";
$headers .= "X-Mailer: plPHP";


# Send email
if (mail($email_address, $subject, $body, $headers)) {
return 1;
}
else {
return 0;
}


' LANGUAGE 'plphp';


#############################################
# Usage
#############################################
plphp_test=# SELECT phpmail('rrussell@commandprompt.com',
'webmaster@robbyrussell.com', 'Subject Line', 'This is the email
body\n\nMore body. Testing email. Test!\n\n\n-Robby') as email;
INFO: ret_val(long): 1
email
-------
1
(1 row)

#############################################
# Output
#############################################
webmaster@robbyrussell.com typed this on 01/30/2004 08:34 AM:
> This is a body
>
> More body. Testing email. Test!
>
>
> -Robby


Feel free to join the plPHP mailing list as well.
http://mail.commandprompt.com/mailman/listinfo/plphp


Cheers,

Robby Russell



--
#-------------------------------------------------------
# Robby Russell, | Sr. Administrator / Lead Programmer
# Command Prompt, Inc. | http://www.commandprompt.com
# rrussell@commandprompt.com | Telephone: (503) 667.4564
#-------------------------------------------------------

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html