title: How to create INSERT logs from SELECTs?
body: <p>As school work we're supposed to create a table that logs all operations done by users on another table. To be more clear, say I have <strong>table1</strong> and <strong>logtable</strong>, table1 can contain any info (names, ids, job, etc), logtable contains info on who did what, when on table1. Using a function and a trigger I managed to get the INSERT, DELETE and UPDATE operations to be a logged in logtable, but we're also supposed to keep a log of SELECTs. To be more specific about the SELECTs, in a <strong>View</strong> if you do a SELECT, this is supposed to be logged into logtable via an INSERT, essentially the logtable is supposed to have a new row with information telling that somebody did a SELECT. My problem is that I can't figure out any way to accomplish this as SELECTs can't make use of triggers and in turn can't make use of functions, and rules don't allow for two different operations to take place. The only thing that came close was using query logs, however as the database is the school's and not mine I can't make any use of them.</p>
  <p>Here is a rough example of what I'm working with (in reality tstamp has hours minutes and such):</p>
  <pre><code>id   operation       hid       tablename       who       tstamp        val_new       val_old
  x    INSERT          x         table1          name      YYYY-MM-DD    newValues     previousValues
  </code></pre>
  <p>That works as intended, but what I also need to get to work is this (Note: Whether val_new and old come out as empty or not in this case is not a concern):</p>
  <pre><code>id   operation       hid       tablename       who       tstamp        val_new       val_old
  x    SELECT          x         table1          name      YYYY-MM-DD    NULL          previousValues
  </code></pre>
  <p>Any and all help is appreciated.</p>