Обсуждение: RegisterBackgroundWorker does not actually start a bg worker process in 9.4.4

Поиск
Список
Период
Сортировка

RegisterBackgroundWorker does not actually start a bg worker process in 9.4.4

От
John Lumby
Дата:
I am new to bg_workers so this may be my user error,
but when I build and run the  contrib/worker_spi
extension,    I find that :

  .   starting postgres with the extension named in shared_preload_libraries :
      its _PG_init is invoked as expected but no process is started -
      it is as though RegisterBackgroundWorker did nothing

  .  creating the extension and then
psql ...  "select worker_spi_launch(2);" :
    I see
 28409 28288 ?        463508       00:05 00:00:00  0.0 postgres: bgworker: worker 2   
as expected.

Is there maybe some bug in postmaster's processing of
    workers marked as start_at = BgWorkerStart_RecoveryFinished
in 9.4.4?

Cheers,   John


Re: RegisterBackgroundWorker does not actually start a bg worker process in 9.4.4

От
Michael Paquier
Дата:
On Tue, Jun 16, 2015 at 3:58 AM, John Lumby <johnlumby@hotmail.com> wrote:
> I am new to bg_workers so this may be my user error,
> but when I build and run the  contrib/worker_spi
> extension,    I find that :
>
>   .   starting postgres with the extension named in shared_preload_libraries :
>       its _PG_init is invoked as expected but no process is started -
>       it is as though RegisterBackgroundWorker did nothing
>
>   .  creating the extension and then
> psql ...  "select worker_spi_launch(2);" :
>     I see
>  28409 28288 ?        463508       00:05 00:00:00  0.0 postgres: bgworker: worker 2
> as expected.
>
> Is there maybe some bug in postmaster's processing of
>     workers marked as start_at = BgWorkerStart_RecoveryFinished
> in 9.4.4?

Not that I know of. I am using static background workers even with 9.4
clusters and they work as expected. Giving a try with worker_spi on
9.4, I see no problems as well:
$ ps ux | grep bgworker
michael  3906   0.0  0.1  2594780   7456   ??  Ss    8:21AM   0:00.02
postgres: bgworker: worker 1
michael  3905   0.0  0.1  2594780   6996   ??  Ss    8:21AM   0:00.02
postgres: bgworker: worker 2
$ psql -c 'show shared_preload_libraries'
 shared_preload_libraries
--------------------------
 worker_spi
(1 row)

Regards,
--
Michael


Re: RegisterBackgroundWorker does not actually start a bg worker process in 9.4.4

От
John Lumby
Дата:
Michael,   thanks for checking,
I tried it again today and it is now working so I must have forgotten something.

John
----------------------------------------
> Date: Tue, 16 Jun 2015 08:33:09 +0900
> Subject: Re: [GENERAL] RegisterBackgroundWorker does not actually start a bg worker process in 9.4.4
> From: michael.paquier@gmail.com
> To: johnlumby@hotmail.com
> CC: pgsql-general@postgresql.org
>
> On Tue, Jun 16, 2015 at 3:58 AM, John Lumby <johnlumby@hotmail.com> wrote:
>> I am new to bg_workers so this may be my user error,
>> but when I build and run the contrib/worker_spi
>> extension, I find that :
>>
>> . starting postgres with the extension named in shared_preload_libraries :
>> its _PG_init is invoked as expected but no process is started -
>> it is as though RegisterBackgroundWorker did nothing
>>
>> . creating the extension and then
>> psql ... "select worker_spi_launch(2);" :
>> I see
>> 28409 28288 ? 463508 00:05 00:00:00 0.0 postgres: bgworker: worker 2
>> as expected.
>>
>> Is there maybe some bug in postmaster's processing of
>> workers marked as start_at = BgWorkerStart_RecoveryFinished
>> in 9.4.4?
>
> Not that I know of. I am using static background workers even with 9.4
> clusters and they work as expected. Giving a try with worker_spi on
> 9.4, I see no problems as well:
> $ ps ux | grep bgworker
> michael 3906 0.0 0.1 2594780 7456 ?? Ss 8:21AM 0:00.02
> postgres: bgworker: worker 1
> michael 3905 0.0 0.1 2594780 6996 ?? Ss 8:21AM 0:00.02
> postgres: bgworker: worker 2
> $ psql -c 'show shared_preload_libraries'
> shared_preload_libraries
> --------------------------
> worker_spi
> (1 row)
>
> Regards,
> --
> Michael