Thread: Pg_repack
On Tue, Aug 06, 2024 at 04:39:53PM +0530, Sathish Reddy wrote: > We planning to create store procedure (function) in postgres database to > run pg_repack on removing bloating of table or index by using within > postgres instance. > Please help me on details on steps with example for same. That will be impossible and/or hard. The problem is that stored procedure/functions runs in database. and pg_repack is external program, that *does stuff in database*, but it not *all* in database. It's kinda as if you wanted to make stored procedure to run photoshop. You can kinda work around it by using some PL/* language that allows external program execution, but it is extremely unlikely to do what you'd think it will do. Best regards, depesz
Thanks for the information.please provide me solution on clearing bloating on table or index bloating with out blocking any user and we are not run any vaccum full .freeze, and reindex and also analized ...with out these provide me perfect solution to run and remove bloat instance level with in postgres..
Thanks
Sathishreddy
On Tue, Aug 06, 2024 at 04:39:53PM +0530, Sathish Reddy wrote:
> We planning to create store procedure (function) in postgres database to
> run pg_repack on removing bloating of table or index by using within
> postgres instance.
> Please help me on details on steps with example for same.
That will be impossible and/or hard.
The problem is that stored procedure/functions runs in database. and
pg_repack is external program, that *does stuff in database*, but it not
*all* in database.
It's kinda as if you wanted to make stored procedure to run photoshop.
You can kinda work around it by using some PL/* language that allows
external program execution, but it is extremely unlikely to do what
you'd think it will do.
Best regards,
depesz
On Tue, Aug 06, 2024 at 04:50:33PM +0530, Sathish Reddy wrote: > Thanks for the information.please provide me solution on clearing bloating > on table or index bloating with out blocking any user and we are not run > any vaccum full .freeze, and reindex and also analized ...with out these > provide me perfect solution to run and remove bloat instance level with in > postgres.. 1. Configure autovacuum properly, so the problem doesn't happen. 2. If need is - run manual vacuum 3. If you really have to, run pg_repack - but this is not a thing that one calls *from within pg* - you run it on some server/computer/whatever, and pg_repack connects to database, and does its magic. Best regards, depesz
HiWe planning to create store procedure (function) in postgres database to run pg_repack on removing bloating of table or index by using within postgres instance.Please help me on details on steps with example for same.ThanksSathishreddy
Thanks for the tip! We are trying in RDS postgres database environment and also we are trying to run as instance level as like functional
Thanks
Sathishreddy
HiWhy you don’t use pg_squeeze?It has its own scheduling to remove bloating.RegardsAbbasOn 6 Aug 2024, at 2:51 PM, Sathish Reddy <sathishreddy.postgresql@gmail.com> wrote:Thanks for the information.please provide me solution on clearing bloating on table or index bloating with out blocking any user and we are not run any vaccum full .freeze, and reindex and also analized ...with out these provide me perfect solution to run and remove bloat instance level with in postgres..
Thanks
SathishreddyOn Tue, Aug 6, 2024, 4:45 PM hubert depesz lubaczewski <depesz@depesz.com> wrote:On Tue, Aug 06, 2024 at 04:39:53PM +0530, Sathish Reddy wrote:
> We planning to create store procedure (function) in postgres database to
> run pg_repack on removing bloating of table or index by using within
> postgres instance.
> Please help me on details on steps with example for same.
That will be impossible and/or hard.
The problem is that stored procedure/functions runs in database. and
pg_repack is external program, that *does stuff in database*, but it not
*all* in database.
It's kinda as if you wanted to make stored procedure to run photoshop.
You can kinda work around it by using some PL/* language that allows
external program execution, but it is extremely unlikely to do what
you'd think it will do.
Best regards,
depesz