On 4/17/19 5:39 AM, Ajay Pratap wrote:
> Hello there,
> I am using PostgreSQL 10.7 as the database, and have Java web app. My
> app takes a lock on the database using the following command whenever my
> server is starting.
> /select /pg_try_advisory_lock/(100)/
> To make sure only one instance of the App is using the database at a time.
> There have been several instances when my server crashes(or stops/ or
> kill), but this lock still remained on the PostgreSQL. Ideally, this
> should not happen because TCP connection breaks if one of the peers
> dies, but it happens otherwise.
If the server is exiting uncleanly I am not sure how it will gracefully
close connections.
> To solve this problem PostgreSQL needs to break the connection if the
> client dies.
But the problem as you describe it is that the server dies not the client.
> One of the methods is to configure TCP timeout but since this is very
> impactful and hence unrealistic.
> I was wounding how can out of the box PostgreSQL help me solve this.
> May be like a ping pong service to check if client is still alive.
>
> Thanks and regards,
> Ajay Pratap,
> Software Engineer,
> Drishti-Soft
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com