Database Event Alerter For PostgreSQL
Version: 1.2
Requirements: PostgreSQL Server for Windows
File Size: 131 KB
License: Free to Try
The event notification mechanism includes server and client components. An event
can be posted by using theserver component. The server component broadcasts event
messages to interested client applications.
An application can get messages using a client component. This component is the
Sql_messenger ActiveX control. The control allows client application to receive
messages for specific event. You can easy build much more sophisticated applications
or services using these components. Now, in awaiting some critical data or events
an application does not need to query Database Server repeatedly. The SQL Server
will notify an application when the data came or event happened.
Copy the pg_messenger.dll over to your PostgreSQL Server \Bin directory.
Add your new function by executing the following SQL command:
CREATE FUNCTION xp_messenger(text, text, text)
RETURNS integer AS 'C:/Program Files/PostgreSQL/8.2/bin/pg_messenger', 'fnpg_messenger'
LANGUAGE 'c' VOLATILE STRICT;
select xp_messenger('message','host','dest');
Where:
@message
- The message string. The maximum string length is 300 characters.
@host
- The destination. Host Name, Host IP, Workgroup Name, Domain Name or '*'
can be used as the destination. Use '*' to send a message to all
domain/workgroup computers.
@dest
- The Slot Name. Default value is 'events'.
You may drop the UDF by using the SQL command:
DROP FUNCTION xp_messenger(text, text, text);
Q. What is the purpose of the pg_messenger.dll?
A. The pg_messenger.dll is a User-Defined Function (UDF) for the PostgreSQL Database Server.
Q. What is the purpose of the sql_messenger.dll?
A. The sql_messenger.dll is an ActiveX control. The control receives
messages from the UDF, and calls the OnData() method for each message.
Q. If I want to receive messages from xp_messenger, do I
have to establish a connection with the PostgreSQL Database Server?
A. No, you don't need to establish connection with the PostgreSQL Database Server.
Q. What mechanism is used by the UDF to send messages?
A. Windows mailslots are used to deliver the messages.
Q. Why do I receive each message twice?
A. It happens when the server or workstation has two NICs.
Q. If I have a router between the PostgreSQL Database Server and a workstation, can I send messages
to the workstation?
A. If you have a router between PostgreSQL Database Server and workstation, you only cannot broadcast
messages. Pg_messenger sends a broadcast message when @dest='*'.
If @dest parameter has a workstation name or its IP address, the workstation will be
able to receive messages from the extended stored procedure.
Q. Can you tell me more about licenses?
A. We have several types of licenses.
- Standard: The pg_messenger.dll may be installed on one copy of the PostgreSQL Database Server.
- Developer: We will provide you with two licenses. One license is a
standard license for your developer PostgreSQL Database Server. The second one is a distribution license. It permits
distribution of pg_messenger.dll with products developed in your company. You may only use the distribution
license outside of your company.