Обсуждение: Parameter passing in trigger function write in C
Hey everyone:
I was request to write a trigger that perform the following function:
1, The trigger will be set to exam all statement that will result change of datas
2, The trigger will exam three information other than the data updated or inserted: user name, password and reasons of change
3, It will record down, in some format, the time and content of the change.
Therefore, I would need some way of passing parameters into the trigger function. Can anyone give me some instructions on how to do it or, if it is possible??
On 04/26/2018 06:13 PM, a wrote: > Hey everyone: > > I was request to write a trigger that perform the following function: > > 1, The trigger will be set to exam all statement that will result change > of datas > > 2, The trigger will exam three information other than the data updated > or inserted: user name, password and reasons of change > > 3, It will record down, in some format, the time and content of the change. > > Therefore, I would need some way of passing parameters into the trigger > function. Can anyone give me some instructions on how to do it or, if it > is possible?? https://www.postgresql.org/docs/10/static/trigger-interface.html -- Adrian Klaver adrian.klaver@aklaver.com
hey thanks mate, I have red that. But the actual data retirement seems to be combination of that and the SPI_get* functions. I'm still testing on it. By the way, if I can pass parameters that is out of the scope of sql statement??
------------------ Original ------------------
From: "Adrian Klaver";
Date: Friday, Apr 27, 2018 9:36 AM
To: "a"<372660931@qq.com>; "pgsql-general";
Subject: Re: Parameter passing in trigger function write in C
> Hey everyone:
>
> I was request to write a trigger that perform the following function:
>
> 1, The trigger will be set to exam all statement that will result change
> of datas
>
> 2, The trigger will exam three information other than the data updated
> or inserted: user name, password and reasons of change
>
> 3, It will record down, in some format, the time and content of the change.
>
> Therefore, I would need some way of passing parameters into the trigger
> function. Can anyone give me some instructions on how to do it or, if it
> is possible??
https://www.
--
Adrian Klaver
adrian.klave
a wrote: > I was request to write a trigger that perform the following function: > > 1, The trigger will be set to exam all statement that will result change of datas > > 2, The trigger will exam three information other than the data updated or inserted: > user name, password and reasons of change > > 3, It will record down, in some format, the time and content of the change. > > Therefore, I would need some way of passing parameters into the trigger function. > Can anyone give me some instructions on how to do it or, if it is possible?? The only information you can pass to a trigger function are the old and new values of the table row being changed and the constants you can supply to the trigger function during CREATE TRIGGER. Everything else will have to be drawn from the current state of the database. One thing you can do is to define your own GUC (configuration parameter) and set that before you run the data modifying SQL statement. Then you can read that information in the trigger. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com
On 04/26/2018 06:48 PM, a wrote: > hey thanks mate, I have red that. But the actual data retirement seems > to be combination of that and the SPI_get* functions. I'm still testing > on it. By the way, if I can pass parameters that is out of the scope of > sql statement?? Can you be more specific about what parameters you are looking to pass in? > > > ------------------ Original ------------------ > *From:* "Adrian Klaver"; > *Date:* Friday, Apr 27, 2018 9:36 AM > *To:* "a"<372660931@qq.com>; "pgsql-general"; > *Subject:* Re: Parameter passing in trigger function write in C > > On 04/26/2018 06:13 PM, a wrote: > > Hey everyone: > > > > I was request to write a trigger that perform the following function: > > > > 1, The trigger will be set to exam all statement that will result change > > of datas > > > > 2, The trigger will exam three information other than the data updated > > or inserted: user name, password and reasons of change > > > > 3, It will record down, in some format, the time and content of the > change. > > > > Therefore, I would need some way of passing parameters into the trigger > > function. Can anyone give me some instructions on how to do it or, if it > > is possible?? > > https://www.postgresql.org/docs/10/static/trigger-interface.html > <https://www.postgresql.org/docs/10/static/trigger-interface.html> > > > -- > Adrian Klaver > adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com> -- Adrian Klaver adrian.klaver@aklaver.com
Yep, I wanna pass the brief reason of manipulating(update, insert or delete), name and password of the manipulator (This might be done by database itself).
On 04/26/2018 06:48 PM, a wrote:
> hey thanks mate, I have red that. But the actual data retirement seems
> to be combination of that and the SPI_get* functions. I'm still testing
> on it. By the way, if I can pass parameters that is out of the scope of
> sql statement??
Can you be more specific about what parameters you are looking to pass in?
>
>
> ------------------ Original ------------------
> *From:* "Adrian Klaver";
> *Date:* Friday, Apr 27, 2018 9:36 AM
> *To:* "a"<372660931@qq .com>; "pgsql-general";
> *Subject:* Re: Parameter passing in trigger function write in C
>
> On 04/26/2018 06:13 PM, a wrote:
> > Hey everyone:
> >
> > I was request to write a trigger that perform the following function:
> >
> > 1, The trigger will be set to exam all statement that will result change
> > of datas
> >
> > 2, The trigger will exam three information other than the data updated
> > or inserted: user name, password and reasons of change
> >
> > 3, It will record down, in some format, the time and content of the
> change.
> >
> > Therefore, I would need some way of passing parameters into the trigger
> > function. Can anyone give me some instructions on how to do it or, if it
> > is possible??
>
> https://www. postgresql.o rg/docs/10/s tatic/trigge r-interface. html
> <https://www. postgresql.o rg/docs/10/s tatic/trigge r-interface. html>;
>
>
> --
> Adrian Klaver
> adrian.klave r@aklaver.co m <mailto:adrian.klave r@aklaver.co m>
--
Adrian Klaver
adrian.klave r@aklaver.co m
------------------ Original ------------------
From: "Adrian Klaver";
Date: Friday, Apr 27, 2018 10:16 PM
To: "a"<372660931@qq.com>; "pgsql-general";
Subject: Re: Parameter passing in trigger function write in C
> hey thanks mate, I have red that. But the actual data retirement seems
> to be combination of that and the SPI_get* functions. I'm still testing
> on it. By the way, if I can pass parameters that is out of the scope of
> sql statement??
Can you be more specific about what parameters you are looking to pass in?
>
>
> ------------------ Original ------------------
> *From:* "Adrian Klaver";
> *Date:* Friday, Apr 27, 2018 9:36 AM
> *To:* "a"<372660931@qq
> *Subject:* Re: Parameter passing in trigger function write in C
>
> On 04/26/2018 06:13 PM, a wrote:
> > Hey everyone:
> >
> > I was request to write a trigger that perform the following function:
> >
> > 1, The trigger will be set to exam all statement that will result change
> > of datas
> >
> > 2, The trigger will exam three information other than the data updated
> > or inserted: user name, password and reasons of change
> >
> > 3, It will record down, in some format, the time and content of the
> change.
> >
> > Therefore, I would need some way of passing parameters into the trigger
> > function. Can anyone give me some instructions on how to do it or, if it
> > is possible??
>
> https://www.
> <https://www.
>
>
> --
> Adrian Klaver
> adrian.klave
--
Adrian Klaver
adrian.klave
On 04/27/2018 07:25 AM, a wrote: > Yep, I wanna pass the brief reason of manipulating(update, insert or https://www.postgresql.org/docs/10/static/trigger-interface.html " tg_event Describes the event for which the function is called. You can use the following macros to examine tg_event ... TRIGGER_FIRED_BY_UPDATE(tg_event) Returns true if the trigger was fired by an UPDATE command. " > delete), name and password of the manipulator (This might be done by > database itself). As for user: https://www.postgresql.org/docs/10/static/functions-info.html "current_user name user name of current execution context" Password?: https://www.postgresql.org/docs/10/static/view-pg-shadow.html Though if you are using password encryption it will be encrypted. > > > ------------------ Original ------------------ > *From:* "Adrian Klaver"; > *Date:* Friday, Apr 27, 2018 10:16 PM > *To:* "a"<372660931@qq.com>; "pgsql-general"; > *Subject:* Re: Parameter passing in trigger function write in C > > On 04/26/2018 06:48 PM, a wrote: > > hey thanks mate, I have red that. But the actual data retirement seems > > to be combination of that and the SPI_get* functions. I'm still testing > > on it. By the way, if I can pass parameters that is out of the scope of > > sql statement?? > > > Can you be more specific about what parameters you are looking to pass in? > > > > > > > ------------------ Original ------------------ > > *From:* "Adrian Klaver"; > > *Date:* Friday, Apr 27, 2018 9:36 AM > > *To:* "a"<372660931@qq.com <mailto:372660931@qq.com>>; "pgsql-general"; > > *Subject:* Re: Parameter passing in trigger function write in C > > > > On 04/26/2018 06:13 PM, a wrote: > > > Hey everyone: > > > > > > I was request to write a trigger that perform the following function: > > > > > > 1, The trigger will be set to exam all statement that will result > change > > > of datas > > > > > > 2, The trigger will exam three information other than the data updated > > > or inserted: user name, password and reasons of change > > > > > > 3, It will record down, in some format, the time and content of the > > change. > > > > > > Therefore, I would need some way of passing parameters into the > trigger > > > function. Can anyone give me some instructions on how to do it or, > if it > > > is possible?? > > > > https://www.postgresql.org/docs/10/static/trigger-interface.html > <https://www.postgresql.org/docs/10/static/trigger-interface.html> > > <https://www.postgresql.org/docs/10/static/trigger-interface.html> > <https://www.postgresql.org/docs/10/static/trigger-interface.html>>; > > > > > > -- > > Adrian Klaver > > adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com> > <mailto:adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> > > > -- > Adrian Klaver > adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com> -- Adrian Klaver adrian.klaver@aklaver.com