On Sat, 29 Jun 2002 [EMAIL PROTECTED] wrote:
> Short Description > pqReadData() -- backend closed the channel unexpectedly. > > Long Description > i have to fire a trigger whenever insertion is done on a table users > that calls the postgres function which inturn calls a c function . > wheever i am doing the insertion in the table it gives the followng error & >terminates the backend: > > pqReadData() -- backend closed the channel unexpectedly. > This probably means the backend terminated abnormally > before or while processing the request. > The connection to the server was lost. Attempting reset: Failed. > > i cannot find the solution to this problem .please help. > > Sample Code > the c file that contains function is as follows: > > #include <stdio.h> > #include "pgsql/postgres.h" > void users(); > > int main() > { > users(); > } > > void users() > { > FILE *fp; > fp = fopen("/home/suresh/trigger/test.txt","w"); > fputs("Hello this is c function",fp); > } I don't believe this is a valid trigger function. Looking at the trigger documentation's simple example, I think the function should return Datum and take PG_FUNCTION_ARGS (or technically what that expands to, but...). I also think you need a PG_FUNCTION_INFO_V1(users); and the function should return the new row since you're using it as a before trigger. ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html