| Public Triggers | |
| Trigger Functions | |
| pgq. | Trigger function that puts row data in JSON-encoded form into queue. |
| pgq. | Trigger function that puts row data in urlencoded form into queue. |
| pgq. | Trigger that generates queue events containing partial SQL. |
Trigger function that puts row data in JSON-encoded form into queue.
Convert row data into easily parseable form.
| arg1 | queue name |
| argX | any number of optional arg, in any order |
| SKIP | The actual operation should be skipped (BEFORE trigger) |
| ignore=col1[,col2] | don’t look at the specified arguments |
| pkey=col1[,col2] | Set pkey fields for the table, autodetection will be skipped |
| backup | Put urlencoded contents of old row to ev_extra2 |
| colname=EXPR | Override field value with SQL expression. Can reference table columns. colname can be: ev_type, ev_data, ev_extra1 .. ev_extra4 |
| when=EXPR | If EXPR returns false, don’t insert event. |
| ev_type | I/U/D ‘:’ pkey_column_list |
| ev_data | column values urlencoded |
| ev_extra1 | table name |
| ev_extra2 | optional urlencoded backup |
CREATE TRIGGER triga_nimi AFTER INSERT OR UPDATE ON customer
FOR EACH ROW EXECUTE PROCEDURE pgq.jsontriga('qname');CREATE TRIGGER triga_nimi BEFORE INSERT OR UPDATE ON customer
FOR EACH ROW EXECUTE PROCEDURE pgq.jsontriga('qname', 'SKIP');Trigger function that puts row data in urlencoded form into queue.
Used as producer for several PgQ standard consumers (cube_dispatcher, queue_mover, table_dispatcher). Basically for cases where the consumer wants to parse the event and look at the actual column values.
| arg1 | queue name |
| argX | any number of optional arg, in any order |
| SKIP | The actual operation should be skipped (BEFORE trigger) |
| ignore=col1[,col2] | don’t look at the specified arguments |
| pkey=col1[,col2] | Set pkey fields for the table, autodetection will be skipped |
| backup | Put urlencoded contents of old row to ev_extra2 |
| colname=EXPR | Override field value with SQL expression. Can reference table columns. colname can be: ev_type, ev_data, ev_extra1 .. ev_extra4 |
| when=EXPR | If EXPR returns false, don’t insert event. |
| ev_type | I/U/D ‘:’ pkey_column_list |
| ev_data | column values urlencoded |
| ev_extra1 | table name |
| ev_extra2 | optional urlencoded backup |
CREATE TRIGGER triga_nimi AFTER INSERT OR UPDATE ON customer
FOR EACH ROW EXECUTE PROCEDURE pgq.logutriga('qname');CREATE TRIGGER triga_nimi BEFORE INSERT OR UPDATE ON customer
FOR EACH ROW EXECUTE PROCEDURE pgq.logutriga('qname', 'SKIP');
pgq.sqltriga() RETURNS trigger AS
Trigger that generates queue events containing partial SQL. It autodetects table structure.
Replication events, that only need changed column values.
| arg1 | queue name |
| argX | any number of optional arg, in any order |
| SKIP | The actual operation should be skipped (BEFORE trigger) |
| ignore=col1[,col2] | don’t look at the specified arguments |
| pkey=col1[,col2] | Set pkey fields for the table, PK autodetection will be skipped |
| backup | Put urlencoded contents of old row to ev_extra2 |
| colname=EXPR | Override field value with SQL expression. Can reference table columns. colname can be: ev_type, ev_data, ev_extra1 .. ev_extra4 |
| when=EXPR | If EXPR returns false, don’t insert event. |
| ev_type | I/U/D |
| ev_data | partial SQL statement |
| ev_extra1 | table name |
| ev_extra2 | optional urlencoded backup |
Trigger that generates queue events containing partial SQL.
pgq.sqltriga() RETURNS trigger AS