Thread: Need Help and suggestion.

Need Help and suggestion.

From
"Artistic-HO- IT-Department"
Date:
Hi

I have a user table in which number of users are created in a database rather creating postgresql user. We are having
onlyone database user, through which we connect database. 

I have make a simple table into database and fire a triggers on add, edit and delete data alongwith userid and action
performed. 

At the time of add entry into table my trigger is fired and it saved data into another table called audit table. My
useridis saved into audit table because trigger is fired after insert row and my table is having userid column in it.
Edittrigger is also fired correctly. 

But But But the problem is that at the time of deletion of data, my deleted row is added into audit table having last
useridthat is saved last.  

Like Mr. A add intry into table and data is copied into audit table.
Mr. B edit entry into table and data is copied into audit table.
Mr. C delete entry into table but it add data into audit table that Mr. B delete it(As it was the person who edit
last).It saved the whole row that was deleted. 

I think i have cleared out my point where i m facing problem. If not then

""""How can i make trigger on database that will add userid into audit table that Mr. C has deleted the entry."""""

Further, According to my company policy this must be done through trigger. Other alternative are not allowded like I
canadd entry into audit table by clicking delete button saving Mr.C as userid. 

Hoping to receiving a quick response from you.

Thanking You

Anand Karia
Software Engineer.

Re: Need Help and suggestion.

From
Richard Huxton
Date:
Artistic-HO- IT-Department wrote:
> Hi
>
> I have a user table in which number of users are created in a
> database rather creating postgresql user. We are having only one
> database user, through which we connect database.

OK

> Like Mr. A add intry into table and data is copied into audit table.
> Mr. B edit entry into table and data is copied into audit table. Mr.
> C delete entry into table but it add data into audit table that Mr. B
> delete it(As it was the person who edit last). It saved the whole row
> that was deleted.

> """"How can i make trigger on database that will add userid into
> audit table that Mr. C has deleted the entry."""""

Create a session table and store your user-name there when you connect.
Then the trigger can access the session table for the user-name. You can
use the backend process-id as a key for the table:
   SELECT pg_backend_pid()

HTH
--
   Richard Huxton
   Archonet Ltd