From: | Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Table auditing / Pg/tcl help |
Date: | 2008-01-02 16:32:39 |
Message-ID: | 504359.98237.qm@web25809.mail.ukl.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi people,
I've been trying to set up table auditing using a tcl function and a
trigger. I followed the guide here to start with:
http://www.alberton.info/postgresql_table_audit.html
The thing is we have multiple fields in our primary keys so I need to
change it to handle them all. I was thinking for now to just set
pk_name like "fieldName1,field2Name" and pk_value to
"fieldvalue1,fieldvalue2" etc.
The script runs the query:
"SELECT a.attname AS pk_name FROM pg_class c, pg_attribute a,
pg_index i WHERE c.relname = '$tgname' AND c.oid=i.indrelid AND
a.attnum > 0 AND a.attrelid = i.indexrelid AND i.indisprimary='t'"
which should produce a list of the values. It then does:
#get PK value
foreach field $TG_relatts {
if {[string equal -nocase [lindex [array get NEW $field] 0]
$pk_name]} {
set pk_value [lindex [array get NEW $field] 1]
break;
}
}
Which I presume just gets the first value, then breaks. I want to get
them all and put them into a comma separated string. So (baering in
mind I've not touched tcl before) I changed this to:
#get PK value
foreach field $TG_relatts {
if {[string equal -nocase [lindex [array get NEW $field] 0]
$pk_name]} {
if {[string length $pk_value] > 0} {
append pk_value "," [lindex [array get NEW $field] 1]
append pk_list "," $pk_name
} else {
set pk_value [lindex [array get NEW $field] 1]
set pk_list $pk_name
}
#break;
}
}
But it didn't work, so I guess I'm missing something.
___________________________________________________________
Support the World Aids Awareness campaign this month with Yahoo! For Good http://uk.promotions.yahoo.com/forgood/
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Sullivan | 2008-01-02 16:40:10 | Re: Any big slony and WAL shipping users? |
Previous Message | Andrew Sullivan | 2008-01-02 16:25:39 | Re: Slow count(*) |