RE: pg_repack and locks

From: <nicolas75_fr(at)yahoo(dot)fr>
To: <depesz(at)depesz(dot)com>
Cc: <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: RE: pg_repack and locks
Date: 2025-01-19 12:51:53
Message-ID: 000001db6a70$ebb65c80$c3231580$@yahoo.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

Thanks for the help but this will not help, killing other process is not safe
The good way will be that pg_repack tools include a timeout so, that after expiration delay, he will stop waiting and discard the repack action

But thanks again for your proposition.
Regards,
Nicolas

-----Message d'origine-----
De : depesz(at)depesz(dot)com <depesz(at)depesz(dot)com>
Envoyé : lundi 13 janvier 2025 16:42
À : nicolas <nicolas75_fr(at)yahoo(dot)fr>
Cc : pgsql-general(at)lists(dot)postgresql(dot)org
Objet : Re: pg_repack and locks

On Mon, Jan 13, 2025 at 12:40:06PM +0000, nicolas wrote:
> Hello everyone,
>
> We are using postgresql v12 and added the pg_repack package
>
> Since I cannot stop other process, I use the “--no-kill-backend” and
> Pg_repack will wait indefinitly until pg_repack get the lock
>
> I get sometimes a problem of lock:
>
> sometimes, I get indefinitly this message : “NOTICE: Waiting for 1 transactions to finish. First PID: xxxx”
>
> this is a real problem because the database is usd all the time.
> If I kill the process, a trigger on source table will still exist and temporary tables and type still exists in the repack schema. The tables are not empty if data has been modified in the source table during the repack.
>
> If I drop table repack tables, I will loose all data modifications
> done on source table how can I properly cleanup the database ?

Allow it to kill offending backends after some time? For example -T 7200?

Best regards,

depesz

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Boris Zentner 2025-01-19 13:50:51 Re: pg_repack and locks
Previous Message Peter J. Holzer 2025-01-19 11:37:01 Re: Design of a reliable task processing queue