Re: Proposal for disk quota feature

From: Chapman Flack <chap(at)anastigmatix(dot)net>
To: Hubert Zhang <hzhang(at)pivotal(dot)io>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Proposal for disk quota feature
Date: 2018-08-30 14:22:37
Message-ID: e39626e5-c123-f328-6493-b9169628786b@anastigmatix.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 08/30/2018 09:57 AM, Hubert Zhang wrote:

> 2 Keep one worker process for each database. But using a parent/global
> quota worker process to manage the lifecycle of database level worker
> processes. It could handle the newly created database(avoid restart
> database) and save resource when a database is not used. But this needs to
> change worker process to be hierarchical. Postmaster becomes the grandfather
> of database level worker processes in this case.

I am using background workers this way in 9.5 at $work.

In my case, one worker lives forever, wakes up on a set period, and
starts a short-lived worker for every database, waiting for each
one before starting the next.

It was straightforward to implement. Looking back over the code,
I see the global worker assigns its own PID to worker.bgw_notify_pid
of each of its children, and also obtains a handle for each child
from RegisterDynamicBackgroundWorker().

I imagine the global quota worker would prefer to start workers
for every database and then just wait for notifications from any
of them, but that seems equally straightforward at first glance.

-Chap

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2018-08-30 14:31:36 Re: Startup cost of sequential scan
Previous Message Alexander Korotkov 2018-08-30 14:09:33 Re: Dimension limit in contrib/cube (dump/restore hazard?)