Re: Perl script is killed by SIGPIPE

From: "Daniel Verite" <daniel(at)manitou-mail(dot)org>
To: "Yogesh Sharma" <yogeshraj95(at)gmail(dot)com>
Cc: "pgsql-general" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Perl script is killed by SIGPIPE
Date: 2017-09-12 13:35:51
Message-ID: 985069ea-f204-4b7a-ba20-544923c0d458@manitou-mail.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Yogesh Sharma wrote:

> We have found child script is killed by signal 13 SIGPIPE. When duplicate
> key violates error occured, script is killed but not all time.

"child script" and this kind of error suggests that a forked process
inherits a database connection opened by a parent process.

When the database handle goes out of scope, it might
close the connection to the database, affecting the
parent process too, since it's the same connection.

If you're using DBI, it has a setting to avoid that issue:
https://metacpan.org/pod/DBI#InactiveDestroy

Aside from that, inherited connections can't be used
simultaneously by parent and child process.
In general, a child process should open and close
its own connection.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chris Travers 2017-09-12 13:36:21 Re: Joining 16 tables seems slow
Previous Message Frank Millman 2017-09-12 13:15:05 Re: Joining 16 tables seems slow