Thread

  1. Re: Best way to create DML/DDL log?

    Webb Sprague <wsprague100@yahoo.com> — 2000-08-21T16:20:36Z

    I think there is either a switch to the psql client or
    a "\" command in the session that allows you to log to
    a file.  Even if you have to do some redirection, it
    seems a lot better than modifying postgres.c (though I
    am quite impressed that you would think about it...)
    
    --- "Ingram, Bryan" <BIngram@sixtyfootspider.com>
    wrote:
    > I would like to create a long of all successful
    > DML/DDL statements.
    > 
    > Has anyone accomplished this before?  No need to
    > reinvent the wheel ...
    > 
    > If not ..I'm wondering what the best approach might
    > be.
    > 
    > I have looked at the tcop/postgres.c source,
    > thinking I might start by
    > modifying some of the -dX routines for generating
    > debugging output. 
    > 
    > I've also tried working a little with the -E option
    > to the postgres backend,
    > (passing it through postmaster as -o -E) but can't
    > seem to redirect its
    > output.
    > 
    > Finally, another option might be to create a
    > trigger, but I haven't really
    > explored this option.
    > 
    > One of the main requirements is that any function
    > which returns a value
    > which is determined by system environment must be
    > written in the log as the
    > evaluated statement, and not written as the function
    > itself.  e.g. now()
    > returns a text string of the current datetime which
    > is written to the log in
    > place of the literal character string 'now()'
    > 
    > As far as modifying postgres.c, I'm fairly confident
    > I can create a log of
    > the query buffer, but I haven't yet enough exposure
    > to the source to find
    > where I should check to see whether or not a
    > statement was successful, or
    > from where I might be able to pull text data from
    > evaluated functions.
    > 
    > Any commentary on this would be much appreciated.  
    > 
    > Thanks,
    > Bryan Ingram
    > 
    > 
    > 
    > 
    
    
    __________________________________________________
    Do You Yahoo!?
    Yahoo! Mail  Free email you can access from anywhere!
    http://mail.yahoo.com/