Re: Perl script is killed by SIGPIPE

From: tirveni yadav <yadav(dot)tirveni(at)gmail(dot)com>
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-13 09:25:32
Message-ID: CAKabkUyPJPF_u8QwJ_cPm9LYRdtbP-AP6X2pAmDvfqLxwcbvxQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Sep 13, 2017 at 11:04 AM, Yogesh Sharma <yogeshraj95(at)gmail(dot)com> wrote:
> Dear Daniel,
> Yes , we are using DBI for connection.
>
> Basically we observed that after dbh->do() return nothing if we are trying
> to insert duplicate entry.
> But it is not occurred always.
> It return exit 1 if try to insert duplicate entry into Db.
> But sometime it return nothing and child script is killed.
>
> On Tuesday, September 12, 2017, Daniel Verite <daniel(at)manitou-mail(dot)org>
> wrote:
>>
>> 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

Yes, running your code under try-catch might help you in diagnosing the issue.
Example:

#------
use TryCatch;

try
{
$rs_foo->insert($href_zoo);
}
catch($error)
{
print "Error: $error \n";
};

#------

--
Regards,

Tirveni Yadav
www.udyansh.org
www.bael.io

What is this Universe ? From what it arises ? Into what does it go?
In freedom it arises, In freedom it rests and into freedom it melts away.
Upanishads.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Michael Paquier 2017-09-13 10:57:27 Re: pg_rewind copy so much data
Previous Message Frank Millman 2017-09-13 07:18:47 Re: Joining 16 tables seems slow