Search Postgresql Archives

Table auditing / Pg/tcl help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux