From: | Markus Wagner <wagner(at)imsd(dot)uni-mainz(dot)de> |
---|---|
To: | Cedar Cox <cedarc(at)visionforisrael(dot)com> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: passing Windows NT user name to postgres triggers for logging |
Date: | 2001-06-25 11:25:19 |
Message-ID: | 3B371F9F.956DF8B0@imsd.uni-mainz.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
Hi Cedar,
thank you very much for your tip! It seems to be very elegant.
Doesn't this mean that pg distinguishes between the connections? I am
still wondering if I could use this distinction. Then I would let every
user let execute a function "LOGIN" at app startup. This function would
make one entry in a global table "sessions", inserting <username> and
<connection id>. The log function would then lookup the user name with
the matching connection.
I will try your suggestion first. But I think it will be somewhat
tricky.
Markus
Cedar Cox wrote:
>
> One thought comes to mind. First you must be able to get the NT username
> somehow and put it in a temporary table in PG. I suggest doing this at
> connect time. Second, write your functions/triggers such that they will
> grab the username from the temporary table and use it for logging.
> Temporary tables are visible only to the connection that created them so
> you can have many connections that create temp tables with the same table
> name.
>
> Thoughts?
>
> -Cedar
>
> On Thu, 21 Jun 2001, Markus Wagner wrote:
>
> > Hi,
> >
> > we are currently using the following configuration:
> > There is a postgresql database running on linux. User applications are
> > running on Windows NT, using Access as a frontend. The tables are
> > connected as static ODBC links with username and password in their DSN
> > definitions.
> >
> > This means: Many different users may connect to our application server
> > with different NT user accounts. But within the scope of the postgres
> > database there is only one user. This is the user the ODBC connections
> > are defined with.
> >
> > Our problem:
> >
> > When implementing logging functions/triggers in postgresql, we have only
> > the pg username (getpgusername()), but we need the NT user name of the
> > users that connect to our terminal server and open our access frontend.
> >
> > My questions:
> >
> > Is there any trick to get the NT user names passed through the
> > connection or SQL statement?
> >
> > For example, if we decide to let every user get its own postgres
> > account, there would still be the problem that one has to define one
> > single username when linking the ODBC data source into access.
> >
> > Are there any other solutions?
> >
> > We simple need to get the users name in our triggers.
> >
> > Thank you a lot,
> >
> > Markus
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
From | Date | Subject | |
---|---|---|---|
Next Message | asergioz | 2001-06-25 13:35:26 | Re: Re: Calculations With NUMERIC Data Type In C Program |
Previous Message | Michael Meskes | 2001-06-24 12:39:03 | Re: Calculations With NUMERIC Data Type In C Program |